zoukankan      html  css  js  c++  java
  • Redis与Memcache区别最全整理【摘自百度】

    https://baijiahao.baidu.com/s?id=1665364123307535771&wfr=spider&for=pc

    (1)【持久化能力】Redis支持持久化,memcache也支持但一般不做持久化(重启丢失数据)

    (2)【数据类型支持】Redis类型较多(5种数据类型,string、list、hash、set、sorted set),memcache只能是字符串

    (3)【线程模型】Redis是单线程+多路IO复用,虽然没有锁冲突,但很难利用多核特性提升整体吞吐量。memecache是多线程+锁的方式,主线程监听,work子线程接收请求,执行读写,有锁冲突。;

    (4)【数据库特征】Redis不是所有的数据都存储在内存,在很多方面具备数据库的特征,memcache只是简单的kv缓存;相当于memchache更像是redis在功能上的一个子集。

    (5)【高可用支持】高可用(redis原生支持高可用功能,可以实现主从复制,哨兵模式,redis集群模式,而memcache要实现高可用,需要进行二次开发,例如客户端的双读双写,或者服务端的集群同步)(延伸:虽然数据类型单一,但是memcache的内存管理机制导致无碎片,这让memcache工作更加稳定,而redis本身也考虑到自己功能复杂,会产生碎片,并且容易崩溃,所以支持高可用)

    (6)【内容大小比较】redis存储的内容比较大(memcache的value存储最大是1M,如果存储value很大,只能选择redis)

    (7)【内存分配】memchache使用预分配内存池的方式管理内存,能够省区内存分配的时间,这个节省的时间在数据量很大的时候还是很可观的。而redis则是临时申请空间,可能导致碎片。Redis和Memcache在写入性能上面差别不大的,读取性能上面尤其是批量读取性能上面Memcache更强的。

  • 相关阅读:
    Flask框架学习教程 汇总篇
    git版本管理工具
    Django-rest framework框架 汇总篇
    数据库学习之路 汇总篇
    Web后端开发学习教程 汇总篇
    Django框架学习教程 汇总篇
    Web前端开发学习教程 汇总篇
    Python开发之爬虫 汇总篇
    Python从入门到放弃 汇总篇
    flask之SQLAlchemy
  • 原文地址:https://www.cnblogs.com/dhjy123/p/13390820.html
Copyright © 2011-2022 走看看