zoukankan      html  css  js  c++  java
  • 缓存——Redis和Memcache的对比

      近来在吸收新知识和复习以前所学,但一直没有好好梳理一下。为了将“内化”所学,也是时候做个总结了。Redis和Memcache是当前缓存层讨论的最多解决方案。我们需要根据实际的使用场景来决定选择哪个。

      Redis和Memcache本质上都是基于k/v实现的缓存,但是Memcache正如其名,依赖于内存,不支持数据的持久化,服务器关闭后数据丢失。而Redis在很多方面具备数据库的特征,或者说就是一个数据库系统,可以通过RDB快照或者AOF日志将数据持久化到磁盘,支持master-slave机制的数据备份;

      在存储小于100k的数据,Redis具有性能上的优势,而数据量大于100k,Memcache性能更好;

      Redis只支持单线程请求,一个Redis进程只使用单核,所有命令串行执行,并发情况下不需要考虑数据一致性。但是可以通过多个Redis进程使用多核。而Memcache可以充分发挥多核优势,单实例吞吐量极高,可以达到几十万QPS;

      在内存利用率上Memcache更高,但如果Redis使用hash结构做k/v存储,由于其组合式的压缩,内存利用率会高于Memcache;

      支持数据类型上,Memcache只支持k/v类型的数据,而Redis还支持list,set,zset,hash等数据结构,并且Redis支持服务器端的数据操作,而Memcache需要将数据拿到客户端进行修改再set回去,大大增加了网络IO和数据的体积,如果需要缓存能进行更复杂的数据结构和操作,那么Redis更适合。

      

  • 相关阅读:
    ASP计算周开始和一年有多少周及某年第一周开始日期
    http://www.lancen.net/
    JSP的对象
    两个SQL语句
    sql 分頁
    网页特效制作汇总
    存储过程 解密
    一个计算周次和本周时间范围的代码(c#)
    Java试题
    如何在 VS 2005 里调试 Javascript
  • 原文地址:https://www.cnblogs.com/junqiao/p/8470932.html
Copyright © 2011-2022 走看看