Redis Server内核运行原理
2024-05-08 11:24:39 0 举报
Redis Server内核运行原理
作者其他创作
大纲/内容
...
querybuf的结构
将输入缓冲区中的协议数据解析之后的数据就放在 argv 中
输出缓冲区
每个客户端都会有对应的 Redis Client,那么多个 Redis Client 是通过链表来进行管理的Redis Client 中是包含了两个数据结构:输入缓冲区和输出缓冲区
2、发送请求
6、查找对应命令
StringObject\"SET\"
文件事件分发器
'\'
Redis Server
Socket
arg[2]
7、操作
监听
cmd
3、多路复用
多路复用
Redis Client
Redis Command
'3'
端口
应用
4、Socket
命令请求处理器
建立连接
IO多路复用
Linux 服务器
进程
len33
5、写入请求命令
1、建立连接
RedisClient 内存结构
argv
连接应答处理器
arg[1]
arg[0]
'*'
StringObject\"key\"
free0
sdshdr
解析后的数据
当查找到 argv 中命令所对应的 RedisCommand 之后,就会将 cmd 的指针指向该 RedisCommand,就可以真正的去执行对应的命令函数
StringObject\"value\"
9、将操作结果返回给命令请求处理器并通过 Socket 返回给客户端
每个客户端建立连接之后都会有对应 Redis Client
buf输出缓冲区
8、将操作结果写入输出缓冲区
发送请求
buf(真正存放数据)
querybuf输入缓冲区
javaedge.cn
输入缓冲区
任务队列
内存数据结构
0 条评论
下一页