File tree Expand file tree Collapse file tree 1 file changed +15
-5
lines changed Expand file tree Collapse file tree 1 file changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -65,14 +65,24 @@ redis 内部使用文件事件处理器 `file event handler`,这个文件事
65
65
66
66
多个 socket 可能会并发产生不同的操作,每个操作对应不同的文件事件,但是 IO 多路复用程序会监听多个 socket,会将 socket 产生的事件放入队列中排队,事件分派器每次从队列中取出一个事件,把该事件交给对应的事件处理器进行处理。
67
67
68
- ### redis 和 memcached 的区别
68
+ ### redis 和 memcached 的区别和共同点
69
69
70
- 对于 redis 和 memcached 我总结了下面四点。 现在公司一般都是用 redis 来实现缓存,而且 redis 自身也越来越强大了!
70
+ 现在公司一般都是用 redis 来实现缓存,而且 redis 自身也越来越强大了!了解redis 和 memcached 的区别和共同点,有助于我们在做相应的技术选型的时候,能够做到有理有据 !
71
71
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数据类型。
73
81
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 )
76
86
77
87
> 来自网络上的一张图,这里分享给大家!
78
88
You can’t perform that action at this time.
0 commit comments