以下分享 Redis IO多路复用模型,如有问题请指教。
如你对技术也感兴趣,欢迎交流。
如有对阁下帮助,请点赞收藏分享
I/O:网络IO
多路:多个客户端连接(连接即套接字描述符,即socket或channel),指的是多条TCP连接
复用:用一个进程来处理多条连接,使用单进程旧能实现同时处理多个客户端的连接
总结:
用一个进程来处理大量的用户请求,IO多路复用类似一个规范和接口落地实现(select-poll-epoll)。
Redis 利用epoll 来实现IO多路复用,将连接信息和时间放到队列中,一次放到文件事件分派器,事件分派器将事件分派给事件处理器。
Redis6/7将网络数据读写、请求协议解析通过多个IO线程的来处理 ,对于真正的命令执行来说,仍使用主线程操作