Redis是单线程的,这话搁以前,是横着走的,谁都知道的真理。现在不一样,Redis 变了。再说这句话,多少得有质疑的语气来跟你辩驳一番。意志不坚定的,可能就缴械投降,顺着别人走了。
到底是什么样的,各位看官请跟我一起往下看:
- 思维导图 -
Reactor模式
整个过程都在一个线程里完成。
单线程时代
多线程时代
总结
传统阻塞IO模型客户端与服务端线程1:1分配,不利于进行扩展。 伪异步IO模型采用线程池方式,但是底层仍然使用同步阻塞方式,限制了最大连接数。 Reactor 通过 I/O复用程序监控客户端请求事件,通过任务分派器进行分发。
基于 Reactor 单线程模式实现,通过IO多路复用程序接收到用户的请求后,全部推送到一个队列里,交给文件分派器进行处理。
单线程性能瓶颈主要在网络IO上。 将网络数据读写和协议解析通过多线程的方式来处理 ,对于命令执行来说,仍然使用单线程操作。
有道无术,术可成;有术无道,止于术
欢迎大家关注Java之道公众号
好文章,我在看❤️