为什么越来越多的程序员开始放弃Memcached而青睐于Redis?
Memcached和Redis是两个非常常用的缓存框架,利用它们,我们很容易将数据库或者文件等数据源的数据进行快速的增删改查等操作,但是最近发现,很多程序员或者企业都在考虑逐步放弃Memcached,而改用Redis,下面我们来分析分析为什么会这样。
Redis具备Memcached的所有特征
打开Memcached的官方文档和提供的API接口,我们不难发现,对于Memcached,它仅仅提供了基本的增删改查等操作,而且仅此而已,而对于我们早期的应用,能够提供的功能和体验等等都比较单一,于是用Memcached就能够满足我们的需求了,这也是为什么在过去Memcached如此流行的原因,反观Redis,我们发现Redis能够提供所有的关于增删改查的操作,换句话说,Redis就是一个超级增强版的Memcached。
Memcached无法独立完成数据安全性的保证
不管是Memcached将数据存储在内存还是它无法支持类似事务相关的特征,都在说明,Memcached无法独立完成数据的安全性,而反观Redis,我们能够看到,它可以做到数据持久化外,还能够支持事务操作(MULTI、EXEC、DISCARD、UNWATCH、WATCH等),保证我们的数据更安全。
多种数据结构和复杂计算是Memcached的软肋
对于Memcached能够支持的数据类型太太有限了,并且仅仅提供存取功能,而反观Redis,我们可以看到,它支持字符串、HASH、列表、集合、有序集合等等复杂的数据类型,并且对于这些数据结构类型,还提供了各种优秀实用的算法,比如对于集合,可以计算两个集合或者多个集合的交集,是否可以利用这个功能完成类似我们的共同好友这样的功能呢?
我们的业务需求越来越复杂
看看我们现在的应用需求,需要实现什么天气预报、发送短信、头像上传、头像压缩、用户之间的亲密度等等,这些需求都在说明,我们面对的环境越来越复杂,不再是过去那种简单的增删改查的环境了,所以对于缓存存储也一样,需要提供更高级的功能。