最近在看redis源码,主体流程看完了。
在网上看到了reactor模式,看了一下,其实咱们常用这种模式。html
反应器设计模式(Reactor pattern)是一种为处理并发服务请求,并将请求提交到一个或者多个服务处理程序的事件设计模式。
当客户端请求抵达后,服务处理程序使用多路分配策略,由一个非阻塞的线程来接收全部的请求,而后派发这些请求至相关的工做线程进行处理。
简单说,就是如何处理多个客户端的并发请求
的解决模式。react
处理大量客户端请求,不能去挨个轮训,这个要使用epoll。
epoll因为select, poll。这个网上有不少资料。redis
redis中的特殊处理
)到达服务端的请求,redis代码中,使用单线程处理。
redis使用就是单线程既要处理链接、也要处理请求,由于redis全内存,避免了线程间加锁、切换等。设计模式
更通常的架构处理
)一般架构中都是采用多线程来处理到达服务器的请求。
将请求放到无锁队列
中,处理线程循环来请求任务便可。
由于服务器代码中,可能会访问第三方存储等长耗时处理。用多线程加速。安全