zoukankan      html  css  js  c++  java
  • memcache和redis区别

    memcache官方定义

    Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

    redis官方定义
    Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.

    版权相同

    它们都是使用的bsd协议,使用它的项目可以用于商业用户,不必发布二次修改的代码,可以修改源代码。

    数据类型

    redis数据类型丰富,支持set liset等类型
    memcache支持简单数据类型,需要客户端自己处理复杂对象

    持久性

    redis支持数据落地持久化存储
    memcache不支持数据持久存储

    分布式存储

    redis支持master-slave复制模式
    memcache可以使用一致性hash做分布式

    value大小不同

    memcache是一个内存缓存,key的长度小于250字符,单个item存储要小于1M,不适合虚拟机使用

    数据一致性不同

    redis使用的是单线程模型,保证了数据按顺序提交。
    memcache需要使用cas保证数据一致性。CAS(Check and Set)是一个确保并发一致性的机制,属于“乐观锁”范畴;原理很简单:拿版本号,操作,对比版本号,如果一致就操作,不一致就放弃任何操作

    cpu利用

    redis单线程模型只能使用一个cpu,可以开启多个redis进程

  • 相关阅读:
    amuse ui(web插件,js插件,css样式)?
    解决ajax重复提交问题?
    AJAX防重复提交的办法总结?
    iOS中发送HTTP请求的方案
    巧用Xode中的代码块(转)
    SVProgressHUD进度条蒙版
    NSTimer scheduledTimerWithTimeInterval与timerWithTimeInterval、initWithFireDate的区别
    小结RunLoop
    初学RunLoop
    CocoaPods安装及使用详情
  • 原文地址:https://www.cnblogs.com/duanxz/p/4512298.html
Copyright © 2011-2022 走看看