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)
第一、性能比较
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)
相关文章推荐
- memcached基础介绍
- 缓存之Memcached简介
- Web缓存技术-Memcached
- memcached 项目中使用
- memcached linux安装
- Linux下memcache的安装和启动(转)
- php 配置memcache
- 分布式缓存Memcache和Redis
- MySQL中InnoDB的Memcached插件的使用教程
- MySQL中InnoDB的Memcached插件的使用教程
- MSM--Memcached_Session_Manager介绍及使用
- memcache同步session的方法
- Linux Memcache 查看列出所有key方法
- 为基于 MAC OS X 的 php 开发环境安装 memcache
- 用memcache存取session
- redis简介以及与memcached比较
- (tengine+keepalived)+(apache+tomcat)+memcached+mysql实现高可用、负载均衡、可扩展架构
- Ubuntu配置Memcached和PHP扩展
- memcached内存分配机制
- memcached介绍和基本命令