page contents

Redis 6.0 多线程的实现机制?

轩辕小不懂 发布于 6天前
阅读 13
收藏 0
分类:数据库
2503
Nen
Nen
- 程序员

流程简述如下:

主线程负责接收建立连接请求,获取 Socket 放入全局等待读处理队列。

主线程处理完读事件之后,通过 RR(Round Robin)将这些连接分配给这些 IO 线程。

主线程阻塞等待 IO 线程读取 Socket 完毕。

主线程通过单线程的方式执行请求命令,请求数据读取并解析完成,但并不执行。

主线程阻塞等待 IO 线程将数据回写 Socket 完毕。

该设计有如下特点:
IO 线程要么同时在读 Socket,要么同时在写,不会同时读或写。
IO 线程只负责读写 Socket 解析命令,不负责命令处理。
请先 登录 后评论