Redis Event Loop
Redis 事件循环 这篇不按 API 一个个介绍,而是跟着一个具体请求读源码。先固定场景: TEXT系统:Linux,使用 epoll 连接:普通 TCP,不考虑 TLS 线程:io-threads = 1 监听 socket:fd = 6 客户端 socket:fd = 8 客户端发送:SET name alice 要追的不是一堆互相独立的函数,而是下面两次唤醒: TEXT第一次 epoll_wait 返回 fd=6 可读 -> accept 新连接 -> 得到 fd=8 -> 给 fd=8 注册读回调 第二次 epoll_wait 返回 fd=8 可读 -> 读请求 -> 执行 SET -> 生成 +OK -> 下一轮 beforeSleep 写回客户端 主要源码按这个顺序看: ...