Redis与Memcached的区别

两者都是非关系型内存键值数据库,现在公司一般都是用 Redis 来实现缓存,而且 Redis 自身也越来越强大了!Redis 与 Memcached 主要有以下不同:

对比参数RedisMemcached
类型1. 支持内存 2. 非关系型数据库1. 支持内存 2. 键值对形式 3. 缓存形式
数据存储类型1. String 2. List 3. Set 4. Hash 5. Sort Set 【俗称ZSet】1. 文本型 2. 二进制类型
查询【操作】类型1. 批量操作 2. 事务支持 3. 每个类型不同的CRUD1.常用的CRUD 2. 少量的其他命令
附加功能1. 发布/订阅模式 2. 主从分区 3. 序列化支持 4. 脚本支持【Lua脚本】1. 多线程服务支持
网络IO模型1. 单线程的多路 IO 复用模型1. 多线程,非阻塞IO模式
事件库自封转简易事件库AeEvent贵族血统的LibEvent事件库
持久化支持1. RDB 2. AOF不支持
集群模式原生支持 cluster 模式没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据
内存管理机制在 Redis 中,并不是所有数据都一直存储在内存中,可以将一些很久没用的 value 交换到磁盘Memcached 的数据则会一直在内存中,Memcached 将内存分割成特定长度的块来存储数据,以完全解决内存碎片的问题。但是这种方式会使得内存的利用率不高,例如块的大小为 128 bytes,只存储 100 bytes 的数据,那么剩下的 28 bytes 就浪费掉了。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页