天天看点

Redis——单线程模型、IO多路复用技术1.单线程模型

1.单线程模型

  • Redis 单线程指的是网络请求模块使用了一个线程,即一个线程处理所有网络请求;
  • 其他模块该使用多线程,仍会使用了多个线程。

1.结构

  • 多个 Socket
  • IO 多路复用程序
  • 文件事件分派器
  • 事件处理器(连接应答处理器、命令请求处理器、命令回复处理器)

2.实现

  • Redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 Redis 才叫做单线程的模型。
  • 它采用 IO 多路复用机制同时监听多个 Socket,并把所有产生事件的socket压入一个队列中,然后有序地每次仅一个socket的方式传送给文件事件分派器,文件事件分派器接收到socket之后会根据socket产生的事件类型调用对应的事件处理器进行处理。
Redis——单线程模型、IO多路复用技术1.单线程模型

2.什么是IO多路复用?

Redis——单线程模型、IO多路复用技术1.单线程模型