第14章 服务器


1. 命令请求的执行过程

1.1 发送命令请求




1.2 读取命令请求

客户端状态的输入缓冲区---》argv和argc---》调用命令执行器


1.3 命令执行器(1):查找命令实现


1.4 命令执行器(2):执行预备操作

比较杂

1.5 命令执行器(3):调用命令的实现函数


1.6 命令执行器(4):执行后续工作


1.7 将命令回复发送给客户端


1.8 客户端接受并打印命令回复


2.serverCron函数

服务器中serverCron函数默认每隔100毫秒执行一次


2.1 更新服务器时间缓存

系统当前时间

服务器状态中的unixtime属性和mstime属性被用作当前时间的缓存



对于高精度时间的功能来说,服务器还是会在此执行系统调用


2.2 更新LRU时钟


2.3 更新服务器每秒执行命令次数


2.4 更新服务器内存峰值记录


2.5 处理SIGTERM信号


2.6 管理客户端资源

调用clientsCron函数。


2.7 管理数据库资源

调用databasesCron函数

2.8 执行被延迟的BGREWRITEAOF


2.9 检查持久化操作的运行状态


2.10 将AOF缓冲区中的内容写入AOF文件


2.11 关闭异步客户端


2.12 增加cronloops计数器的值


3.初始化服务器


3.1 初始化服务器状态结构



redis.c/initServerConfig函数完成。

3.2 载入配置选项


3.3 初始化服务器数据结构


3.4 还原数据库状态



3.5 执行事件循环




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值