您的位置:首页 > 数据库 > Memcache

Redis与Memcache区别

2015-05-31 20:24 387 查看
作为一个需要时刻学习的DBA,我尝试从自己的角度分析,memcached和Redis区别
第一、性能比较

1.CPU使用

memcached是多线程的,可以提高多核CPU的使用能力;

redis是单进程的,使用串行方式处理数据。

2.内存使用

memcached有单个文件1M内存限制;

Redis则没有相应限制

总结:综合比较吧,2者性能差不多;

第二、功能比较

1.支持的数据类型

memcache数据结构单一(字符串)

redis支持类型相对较多(字符串,列表,有序集合,哈希表,集合)

2.数据是否能持久化

memcached只支持数据存放在内存中,Redis则可以灵活调整(快照、AOF)
3.数据一致性(事务支持)

Memcache在并发场景下,用case保证一致性

redis事务支持比较弱,只能保证事务中的每个操作连续执行

第三、运维和学习成本:

1.复杂度

memcached复杂度较低,容易学习和管理,redis相应操作较复杂!

2.集群部署(解决单点故障)

Memcache本身没有数据冗余机制
--未完待续

第四、如何选择?

redis:数据量较小的更性能操作和运算上

memcache:用于在动态系统中减少数据库负载,提升性能;做缓存,提高性能(适合读多写少,对于数据量比较大,可以采用sharding)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: