14-服务器
14 服务器
14.2 serverCron函数
默认每隔100ms执行一次,负责关联服务器资源维持运转。
14.2.1 更新服务器时间缓存
redis服务中有不少功能需要获取系统的当前时间,都需要执行系统调用,为了减少,而使用近似的100ms间隔获取的时间作为缓存!所以不是高精度的。
对于那些需要高精度的场景还是会执行系统调用。
- 不需要高精度:日志打印、LRU时间、持久任务执行
- 需要高精度:键过期时间、慢查询日志。
14.2.3 统计命令执行次数
14.2.4 内存峰值记录
14.2.5 处理SIGTERM信号
收到SIGTERM信号关闭服务器,要进行持久化。
14.2.6 管理客户资源
每次执行都会调用clientsCron对一些client进行检查
- 连接超时,释放
- 输入缓冲区检查
14.2.7 管理数据库资源
每次执行调用databaseCron对一些数据库检查。
- 删除过期键
- 字典收缩
14.3 初始化服务器
14.3.1 初始化服务器状态结构
-
struct redisServer结构
1
-
初始server变量入口:initServerConfig
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 张彦东的博客!