Skip to content

Commit 1c45891

Browse files
committed
Update Redis.md
1 parent 136d727 commit 1c45891

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

docs/database/Redis/Redis.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,24 @@ redis 内部使用文件事件处理器 `file event handler`,这个文件事
6565

6666
多个 socket 可能会并发产生不同的操作,每个操作对应不同的文件事件,但是 IO 多路复用程序会监听多个 socket,会将 socket 产生的事件放入队列中排队,事件分派器每次从队列中取出一个事件,把该事件交给对应的事件处理器进行处理。
6767

68-
### redis 和 memcached 的区别
68+
### redis 和 memcached 的区别和共同点
6969

70-
对于 redis 和 memcached 我总结了下面四点。现在公司一般都是用 redis 来实现缓存,而且 redis 自身也越来越强大了!
70+
现在公司一般都是用 redis 来实现缓存,而且 redis 自身也越来越强大了!了解redis 和 memcached 的区别和共同点,有助于我们在做相应的技术选型的时候,能够做到有理有据
7171

72-
1. **redis 支持更丰富的数据类型(支持更复杂的应用场景)**:Redis 不仅仅支持简单的 k/v 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。memcache 支持简单的数据类型,String。
72+
**共同点:**
73+
74+
1. 都是基于内存的缓存。
75+
2. 都有过期策略。
76+
3. 两者的性能都非常高。
77+
78+
**区别:**
79+
80+
1. **Redis 支持更丰富的数据类型(支持更复杂的应用场景)**。Redis 不仅仅支持简单的 k/v 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。Memcached 只支持最简单的k/v数据类型。
7381
2. **Redis 支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用,而 Memecache 把数据全部存在内存之中。**
74-
3. **集群模式**:memcached 没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据;但是 redis 目前是原生支持 cluster 模式的.
75-
4. **Memcached 是多线程,非阻塞 IO 复用的网络模型;Redis 使用单线程的多路 IO 复用模型。**
82+
3. **Redis 有灾难恢复机制。** 因为可以把缓存中的数据持久化到磁盘上。
83+
4. **Redis 在服务器内存使用完之后,可以将不用的数据放到磁盘上。但是,Memcached 在服务器内存使用完之后,就会直接报异常。**
84+
5. **Memcached 没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据;但是 Redis 目前是原生支持 cluster 模式的.**
85+
6. **Memcached 是多线程,非阻塞 IO 复用的网络模型;Redis 使用单线程的多路 IO 复用模型。** (Redis 6.0 引入了多线程 IO )
7686

7787
> 来自网络上的一张图,这里分享给大家!
7888

0 commit comments

Comments
 (0)