redis
能解释一下redis的I/O多路复用模型吗?
❒ I/O多路复用 是指利用单个线程来同时监听多个socket,并在某个socket可读、可写时得到通知,从而避免无效的等待,充分利用CPU资源。目前的I/O多路复用都是采用的epoll模式实现,它会在通知用户进程socket就绪的同时,把已就绪的socket写入用户空间,不需要挨个遍历socket来判断是否就绪,提升了性能。 ❒ redis网络模型 ✔ 就是使用I/O多路复用结合事件的处理器来应对多个socket请求连接应答处理器 ✔ 命令回复处理器,在redis6.0之后,为了提升更好的性能,使用了多线程来处理回复事件 ✔ 命令请求处理器,在redis6.0之后,将命令的转换使用了多线程,增加命令转换速度,在命令执行的时候,依然是单线程
I/O多路复用 + 事件派发