redis为什么快
2021-10-17 22:03:33 小德 Redis 访问次数 81

1、redis 线程模型

redis高并发的核心秘密是其线程模型,才有单线程,NIO,异步的线程模型。redis使用文件事件处理器(file event handler)处理所有事件,这个文件事件处理器是单线程,所以redis叫单线程。

文件处理器才有IO多路复用器,同时监听多个socket,将产生事件的socket放入内存队列中,事件分发器根据socket上的事件类型,选择对应的事件处理器进行处理。

    image.png

    image.png

tips: 同步和异步,描述的是调用者,要不要主动等待函数的返回值;再说阻塞和非阻塞,描述的是函数本身,在等待某一事件的结果时,是将线程挂起,还是立即返回一个未就绪等信息。

2、基于内存,数据结构简单,单线程避免切换带来的CPU竞争