Redis进阶之路:深析Redis单线程架构,图文并茂非常值得收藏

Redis客户端与服务端的模型可以简化成下图,每次客户端调用都经历了发送命令、执行命令、返回结果三个过程。

Redis进阶之路:深析Redis单线程架构,图文并茂非常值得收藏_第1张图片

我们说的单线程就是在第二步执行命令,一条命令从从客户端达到服务端不会立刻被执行,而是会进入一个队列中等待,每次只会有一条指令被选中执行。

Redis进阶之路:深析Redis单线程架构,图文并茂非常值得收藏_第2张图片

发送命令、返回结果、命令排队这些就不是那么简单了,例如Redis使用了I/O多路复用技术来解决I/O的问题。

1.2、Redis为什么要使用单线程

这是官方的解释:

https://redis.io/topics/faq

Redis进阶之路:深析Redis单线程架构,图文并茂非常值得收藏_第3张图片

官方FAQ表示,因为Redis是基于内存的操作,CPU成为Redis的瓶颈的情况很少见,Redis的瓶颈最有可能是内存的大小或者网络限制。

如果想要最大程度利用CPU,可以在一台机器上启动多个Redis实例。

官方FAQ表示,因为Redis是基于内存的操作,CPU成为Redis的瓶颈的情况很少见,Redis的瓶颈最有可能是内存的大小或者网络限制。

如果想要最大程度利用CPU,可以在一台机器上启动多个Redis实例。

值得一提的,网络上

你可能感兴趣的:(程序员,redis,架构,数据库)