File tree Expand file tree Collapse file tree 1 file changed +10
-0
lines changed Expand file tree Collapse file tree 1 file changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -43,6 +43,7 @@ epoll的设计和实现与select完全不同,epoll通过在linux内核中申
4343> - 调用epoll_wait收集发生事件的连接;
4444 在进程启动时创建一个epoll对象,然后在需要的时候向这个epoll对象中添加或者删除连接。同时,epoll_wait的效率也非常高,因为epoll_wait时,并没有一股脑的想操作系统复制连接句柄数据,内核也不需要去遍历全部连接。
4545
46+ ------------
4647
4748##### Redis指令队列原理
4849Redis Server就是通过blocking_keys(指令队列)和 ready_keys(响应队列)两个数据结构来实现阻塞操作。但整个阻塞并没有阻塞EventLoop本身,从而实现指令的快速响应。算是一个典型的空间换时间的设计思路。
@@ -53,5 +54,14 @@ Redis会将每个客户端套接字都关联一个指令队列。客户端的指
5354** 响应队列:**
5455Redis同样也会为每个客户端套接字关联一个响应队列。Redis服务器通过响应队列来将指令的返回结果回复给客户端。如果队列为空,那么意味着连接暂时处于空闲状态,不需要去获取写事件。
5556
57+ ------------
58+
59+ ##### Redis序列化协议
60+ Redis服务器与客户端通过RESP(REdis Serialization Protocol)协议通信。
61+ RESP特点:容器实现、解析快、可读性
62+ RESP底层采用TCP的连接方式,通过TCP进行传输数据,根据解析规则解析相应信息,完成交互。
63+
64+ ------------
65+
5666
5767
You can’t perform that action at this time.
0 commit comments