Redis和Memcache对比

来源:互联网 发布:学生开淘宝店怎么经营 编辑:程序博客网 时间:2024/05/18 12:39

这里写图片描述
参考链接

区别

  1. IO模型 - memcache:多线程IO多路复用(事件驱动),redis:单线程IO多路复用(事件驱动,单线程模型实际会严重影响整体吞吐量,CPU计算过程中,整个IO调度都是被阻塞住的)
  2. 内存分配 - memcache:使用预分配的内存池的方式(slab,chunk),Redis:使用现场申请内存的方式来存储数据,会在一定程度上存在内存碎片。
  3. 数据一致性 - memcache:使用cas保证数据一致性,redis:使用事务操作
  4. 功能 - memcache:基本只支持简单的key-value存储,不支持枚举,不支持持久化和复制等功能,redis:除key/value之外,还支持list,set,sorted set,hash等众多数据结构,提供了KEYS进行枚举操作,但不能在线上使用,同时提供了持久化和复制等功能
  5. 分布式锁 - memcache:原子操作add()能够设置过期时间,redis:需要先set()再expire(),一旦宕机被打断,会导致死锁

使用场景

  1. redis使用最佳方式是全部数据in-memory。
  2. redis更多场景是作为memcache的替代者来使用。
  3. 当需要除key/value之外的更多数据类型支持时,使用redis更合适。
  4. 当存储的数据不能被剔除时,使用redis更合适。
0 0
原创粉丝点击