zoukankan      html  css  js  c++  java
  • Memcache和Redis区别

    Memcache和Redis区别:

    1. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcache相比一个最大的区别。
    2. Redis在很多方面具备数据库的特征,或者说就是一个数据库系统,而Memcache只是简单的K/V缓存。
    3. 他们的扩展都需要做集群;实现方式:master-slave、Hash。
    4. 在100k以上的数据中,Memcache性能要高于Redis。
    5. 如果要说内存使用效率,使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcache。当然,这和你的应用场景和数据特性有关。
    6. 如果你对数据持久化和数据同步有所要求,那么推荐你选择Redis,因为这两个特性Memcache都不具备。即使你只是希望在升级或者重启系统后缓存数据不会丢失,选择Redis也是明智的。
    7. Redis和Memcache在写入性能上面差别不大,读取性能上面尤其是批量读取性能上面Memcache更强

    共同点:Memcache,Redis 都是内存数据库

    区别:

     Memcache

       Memcache可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS,适用于最大程度扛量

        只支持简单的key/value数据结构,不像Redis可以支持丰富的数据类型。

        无法进行持久化,数据不能备份,只能用于缓存使用,且重启后数据全部丢失

     Redis

        支持多种数据结构,如string,list,dict,set,zset,hyperloglog

        单线程请求,所有命令串行执行,并发情况下不需要考虑数据一致性问题。

        支持持久化操作,可以进行aof及rdb数据持久化到磁盘,从而进行数据备份或数据恢复等操作,较好的防止数据丢失的手段。

        支持通过Replication进行数据复制,通过master-slave机制,可以实时进行数据的同步复制,支持多级复制和增量复制.

        支持pub/sub消息订阅机制,可以用来进行消息订阅与通知。

        支持简单的事务需求,但业界使用场景很少,并不成熟

    参考链接:https://blog.csdn.net/hhjianlong/article/details/73928653

  • 相关阅读:
    【转】Javascript面向对象编程(二):构造函数的继承
    【转】Javascript 面向对象编程(一):封装
    js 碎片整理(变量声明,函数作用域)
    js函数表达式和函数声明的区别
    jquery实现input输入框实时输入触发事件代码(点击历史记录也会触发)
    JS控制,返回上一页之后强行刷新一次
    疯狂JAVA16课之对象与内存控制
    [转] C++的引用传递、指针传递参数在java中的相应处理方法
    Markdown编辑器测试
    15-01-07 C# 面向过程 08
  • 原文地址:https://www.cnblogs.com/xiohao/p/8804516.html
Copyright © 2011-2022 走看看