1、Redis 不仅仅支持简单的 k/v 类型的数据,同时还提供 list,set,zset,hash

等数据结构的存储。而 memcache 只支持简单数据类型,需要客户端自己处理复

杂对象

2、Redis 支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可

以再次加载进行使用(PS:持久化在 rdb、aof)。

3、由于 Memcache 没有持久化机制,因此宕机所有缓存数据失效。Redis 配置

为持久化,宕机重启后,将自动加载宕机时刻的数据到缓存系统中。具有更好的

灾备机制。

4、Memcache 可以使用 Magent 在客户端进行一致性 hash 做分布式。Redis 支

持在服务器端做分布式(PS:Twemproxy/Codis/Redis-cluster 多种分布式实现方

式)

5、Memcached 的简单限制就是键(key)和 Value 的限制。最大键长为 250 个

字符。可以接受的储存数据不能超过 1MB(可修改配置文件变大),因为这是典

型 slab 的最大值,不适合虚拟机使用。而 Redis 的 Key 长度支持到 512k。

6、Redis 使用的是单线程模型,保证了数据按顺序提交。Memcache 需要使用

cas 保证数据一致性。CAS(Check and Set)是一个确保并发一致性的机制,属

于“乐观锁”范畴;原理很简单:拿版本号,操作,对比版本号,如果一致就操

作,不一致就放弃任何操作

cpu 利用。由于 Redis 只使用单核,而 Memcached 可以使用多核,所以平均每

一个核上 Redis 在存储小数据时比 Memcached 性能更 高。而在 100k 以上的数

据中,Memcached 性能要高于 Redis 。

7、memcache 内存管理:使用 Slab Allocation。原理相当简单,预先分配一系

列大小固定的组,然后根据数据大小选择最合适的块存储。避免了内存碎片。(缺

点:不能变长,浪费了一定空间)memcached 默认情况下下一个 slab 的最大值

为前一个的 1.25 倍。

8、redis 内存管理: Redis 通过定义一个数组来记录所有的内存分配情况, Redis

采用的是包装的 malloc/free,相较于 Memcached 的内存 管理方法来说,要简

单很多。由于 malloc 首先以链表的方式搜索已管理的内存中可用的空间分配,导

致内存碎片比较多

memcached 与 redis 的区别?的更多相关文章

  1. Django缓存系统选择之Memcached与Redis的区别与性能对比

    Django支持使用Memcached和Redis这两种流行的内存型数据库作为缓存系统.我们今天来看Memcached和Redis的区别和性能对比. redis和memcached的区别 1.Redi ...

  2. memcached 与 redis 的区别和具体应用场景

    1. Memcached简介 Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器.其本质上就是一个 ...

  3. memcached和redis的区别

    memcache和redis区别 memcach简介 Memcache时一个内存对象缓存系统,用于加速动态web应用程序,减轻数据库负载.它可以应对任意多个连接,使用非阻塞的网络I/O, 工作机制: ...

  4. memcached和redis的区别和应用场景

    一:特性和对比 1.性能上:      性能上都很出色,具体到细节,由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比 Memcached性能更高 ...

  5. Memcached与Redis对比,Redis基础笔记回顾

    Memcached 1.为什么要把数据存入内存?快 2.Memcached和Redis的区别 (1)Memcached缓存.Redis数据库,Memcached不支持持久化到磁盘 (2)Redis提供 ...

  6. NOSQL学习之一:Memcached, Redis, MongoDB区别

    Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理. Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. MongoDB是一个基于分布 ...

  7. redis和memcached的优缺点及区别

    1. 使用redis有哪些好处? (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,li ...

  8. Redis和Memcached到底有什么区别?

    前言 我们都知道,Redis和Memcached都是内存数据库,它们的访问速度非常之快.但我们在开发过程中,这两个内存数据库,我们到底要如何选择呢?它们的优劣都有哪些?为什么现在看Redis要比Mem ...

  9. Memcached、Redis和MongoDB的区别

    Memcached和Redis都是内存数据库. Memcached是多线程运行的: Redis单线程是单线程运行的: MongoDB是文档型的非关系型数据库..Net:RavenDB.

随机推荐

  1. 【笔试必备】常见sql笔试题(30题)

    sql是测试从业者必备的技能之一,基本上也是笔试必考内容. 所以,不要让sql拖了后腿,有些测友一遇到多表关联查询就犯晕,甚至连单表的执行顺序都没搞懂,下面简单介绍下,顺便给一些题供大家练习. 单表执 ...

  2. Smartbi权限安全管理系统_保障数据权限安全

    思迈特软件Smartbi具有完善的安全管理体系,Smartbi权限安全管理系统它可以控制用户功能权限.数据访问权限.资源访问权限.Smartbi权限安全管理系统支持按用户.用户组.角色进行管理:支持多 ...

  3. 小白学python第1问: int 占几个字节?

    windows 64位机器,python3.7:后面的文章中,没有特别说明的话,都是在该环境下运行 int 占几个字节? C语言中(GCC编译器),int 占据4个字节,python呢? 我们用pyt ...

  4. 哈工大 信息安全实验 XSS跨站脚本攻击原理与实践

    XX大学XX学院 <网络攻击与防御> 实验报告 实验报告撰写要求 实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性. ...

  5. AntBlazor Theme in ABP Framework

    介绍 ABP抽象了主题系统,将已有的UI更改到其他的UI框架非常简单,本文介绍了如何将主题切换为AntBlazor Theme. 源码以及示例在Gihub开源. Lsw.Abp.AntDesignUI ...

  6. omnet++:官方文档翻译总结(二)

    这一部分是官方案例介绍 1.Introduction 学习自:Introduction - OMNeT++ Technical Articles 本教程是基于Tictoc的仿真案例,这些案例我们可以在 ...

  7. css样式之浮动

    什么是浮动? 添加了浮动的的元素会脱离正常的文档流. 浮动的特点: 1.可以让块级元素排在同一排 2.可以让行属性标签支持所有的css样式 3.遇到相邻的浮动元素或者父级元素会停下来 4.浮动会影响其 ...

  8. jquery, js轮播图插件Swiper3

    轮播图插件Swiper3 HTML代码 如果只是简单的使用轮播图,直接复制我的html代码就可以. 如果想要高级一些,就自己去看文档吧 <!DOCTYPE html> <html l ...

  9. XSS攻击防范

    前端安全系列之XSS攻击防范 1.使用textContent 2.使用HTML转义 把JS中的标签转成字符 3.对于链接跳转 禁止含有'javascript:'开头的字符 4.标签属性中含有恶意执行代 ...

  10. 15、mysql主从复制的原理

    mysql主从复制 要想实现mysql的主从复制需要先了解二进制日志(bin log)和中继日志(relay log). 二进制日志(bin log) binlog即binary log,二进制日志文 ...