redis自学(23)Redis网络模型
Redis网络模型
Redis通过IO多路复用来提高网络性能,并且支持各种不同的多路复用实现,并且将这些实现进行封装,提供了统一的高性能事件库API库AE:
ae.c对当前的系统环境做一个判断
来看下Redis单线程网络模型的整个流程
Redis 6.0版本中引入了多线程,目的是为了提高IO读写效率。因此在解析客户端命令、写响应结果时采用了多线程。核心的命令执行。IO多路复用模块依然是由主线程执行。
单线程的瓶颈:
命令请求处理器里面的读和命令回复处理器的写会涉及网络IO的操作,会受到网络带宽,网络状态等影响。而命令的处理和IO多路复用和事件的监听没有问题,主线程即可。
多线程后虽然单次请求处理的响应时间没有什么变化,但是整体的吞吐量增加了