关于redis底层原理的学习记录:
1)RedisCli想要连接到RedisServer,首先需要创建一对socket用于连接通信
2)Redis采用的是nio多路复用模型(一个线程监听所有传入的请求,使用轮询的策略去接收)
3)文件事件处理器将接收到的请求存入队列,串行化执行
4)文件分发器将根据请求的类型分给不同的处理器
5)第一次进行连接,连接处理器就会拿到想要建立连接的Socket,去新建一个和拥有Socket匹配对的Socket,配对成功就可以通过Socket传输信息
6)假设客户端传来一个读请求,传给服务端的Socket,
a.服务端的Socket注册到io多路复用器上,由响应数据处理器进行处理;
b.响应数据处理器通过RedisClient的输入缓冲区,到RedisCommnd中找到对应的查询命令,然后在内存区域空间进行查询;
c.结果返回到输出缓冲区,RedisClient将结果返回给响应数据处理器;
d.响应数据处理器又通过Socket进行数据的传输