0
点赞
收藏
分享

微信扫一扫

Redis与Memcache对比

一叶轻舟okok 2021-09-23 阅读 43
Redis

Memchache

特点
  • 处理请求时使用多线程异步 IO 的方式,可以合理利用 CPU 多核的优势,性能非常优秀;
  • 功能简单,使用内存存储数据;
  • 内存结构以及钙化问题我就不细说了,大家可以查看官网了解下;
  • 对缓存的数据可以设置失效期,过期后的数据会被清除;
  • 失效的策略采用惰性删除,就是当再次使用数据时检查是否失效;
  • 当容量存满时,会对缓存中的数据进行剔除,剔除时除了会对过期 key 进行清理,还会按 LRU 策略对数据进行剔除。
缺点
  • key 不能超过 250 个字节;
  • value 不能超过 1M 字节;
  • key 的最大失效时间是 30 天;
  • 只支持 K-V 结构,不提供持久化和主从同步功能。

Redis

  • 与 MC 不同的是,Redis 采用单线程模式处理请求。这样做的原因有 2 个:一个是因为采用了非阻塞的异步事件处理机制;另一个是缓存数据都是内存操作 IO 时间不会太长,单线程可以避免线程上下文切换产生的代价。
  • Redis 支持持久化,所以 Redis 不仅仅可以用作缓存,也可以用作 NoSQL 数据库。
  • 相比 MC,Redis 还有一个非常大的优势,就是除了 K-V 之外,还支持多种数据格式,例如 list、set、sorted set、hash 等。
  • Redis 提供主从同步机制,以及 Cluster 集群部署能力,能够提供高可用服务。

总结

在并发量不高情况下,Memcache和Redis都能满足需求,如果业务场景复杂,并发量高,需要动态扩展,数据需要持久化,那么Memcache的限制就很不合适。

举报

相关推荐

0 条评论