memcache和redis区别
memcache官方定义
Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
redis官方定义
Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
-
版权相同
它们都是使用的bsd协议,使用它的项目可以用于商业用户,不必发布二次修改的代码,可以修改源代码。 -
数据类型
redis数据类型丰富,支持set liset等类型
memcache支持简单数据类型,需要客户端自己处理复杂对象 -
持久性
redis支持数据落地持久化存储
memcache不支持数据持久存储 -
分布式存储
redis支持master-slave复制模式
memcache可以使用一致性hash做分布式 -
value大小不同
memcache是一个内存缓存,key的长度小于250字符,单个item存储要小于1M,不适合虚拟机使用 -
数据一致性不同
redis使用的是单线程模型,保证了数据按顺序提交。
memcache需要使用cas保证数据一致性。CAS(Check and Set)是一个确保并发一致性的机制,属于“乐观锁”范畴;原理很简单:拿版本号,操作,对比版本号,如果一致就操作,不一致就放弃任何操作 -
cpu利用
redis单线程模型只能使用一个cpu,可以开启多个redis进程
参考:
http://www.nginx.cn/tag/memcache
http://www.cnblogs.com/qunshu/p/3196972.html
http://www.blogjava.net/chhbjh/archive/2012/02/21/370472.html
http://maoyidao.iteye.com/blog/1846089
相关文章
- redis面试题
- spring boot单元测试之十:用embedded-redis库做Redis的mock(spring boot 2.4.3)
- centos8平台redis cluster集群搭建(redis5.0.7)
- redis集群之REDIS CLUSTER
- Redis的全量同步和增量同步
- 【SpringBoot系列】Spring Boot+Redis 分布式锁:模拟抢单
- 【服务器安装Redis】Centos7离线安装redis
- 〖Python 数据库开发实战 - Python与Redis交互篇⑦〗- 利用 redis-py 实现缓存学生考试信息
- redis学习笔记之redis简介
- Redis、Memcache和MongoDB的区别
- Redis 5.0 redis-cli --cluster help说明
- 详解Redis布隆过滤器和缓存穿透解决方案
- redis的持久化方式RDB和AOF的区别
- 03-Redis客户端连接Redis服务器(redis.conf 文件配置没有生效导致redis运行报错Error: Connection reset by peer)
- 【Redis】redis大key和大value的危害,如何处理?
- redis单线程原理___Redis为何那么快-----底层原理浅析
- springboot 的 RedisTemplate 的 execute 和 executePipelined 功能的区别redis
- redis.conf 翻译与配置(二)【redis6.0.6】