0%

Reids和Memcached对比

Reids和Memcached对比

本文简单介绍了Redis和Memcached的区别

对比

  1. 数据类型
    • Redis支持String、hash等5种类型
    • Memcached只支持hash
  2. 单线程和多线程
    • Redis是单线程请求,所有命令串行执行,并发情况下数据是一致的;但是性能受限于CPU,单实例的QPS在4-6w
    • Memcached是多线程,在单实例的情况下,可以达到写入60-80w qps,读80-100w
  3. 持久化
    • Redis支持持久化,使用AOF或者RDB
    • Memcached不支持持久化
  4. 对热点、bigkey的支持
    • QPS较高的情况下容易造成redis阻塞:单线程CPU饱和
    • memcached多线程,支持较好
  5. 高可用/HA
    • Redis哨兵模式master-slave,支持多级复制和增量复制
    • Memcached无法高可用
  6. 发布订阅
    • Redis支持pub/sub,可以用来订阅和通知
    • Memcached没有订阅

总结

  1. Memcached可以提供更高的QPS,在请求量巨大的时候可以使用Memcached
  2. Memcached无法持久化且可用性不高,在承载巨大的并发请求时,应采用多活结构来提高可用性
  3. 可以一台服务器部署多个Memcached实例,减少单实例的压力
  4. 大部分情况应使用Redis,毕竟Redis可用性高,支持持久化