Redis 事件循环如何协调网络文件事件、时间事件与高并发连接
简答题困难800 次浏览
参考答案与解析
# 核心结论
Redis 服务端通过事件循环协调网络文件事件和时间事件。文件事件描述监听套接字或客户端套接字何时可读、可写;时间事件负责按时间触发内部维护任务。事件循环借助操作系统的输入输出多路复用接口等待一组描述符,在事件就绪后调用相应处理器,并在适当时机执行已经到期的时间任务。所谓“单线程”主要描述普通命令执行路径具有串行语义,并不表示整个进程在所有版本与配置下始终只有一个线程,也不表示持久化、网络读写或内存释放等所有工作都必须由同一个线程完成。
# 底层机制
监听套接字可读时,事件处理器会接收新连接;客户端套接字可读时,服务端读取字节流、解析 Redis 协议并形成命令;客户端存在待发送响应且套接字可写时
