2017-11-15 Booboo
Redis服务器中的serverCron函数默认每隔100ms执行一次,该函数负责管理服务器的资源,并保持服务器自身的良好运转:
- 更新服务器时间缓存
- 更新LRU时钟
- 更新服务器每秒执行命令次数
- 更新服务器内存峰值记录
- 处理SIGTERM信号
- 管理客户端资源
- 管理数据库资源
- 执行被延迟的BGREWRITEAOF
- 检查持久化操作的运行状态
- 将AOF缓冲区的内容写入AOF文件
- 关闭异步客户端
- 增加cronloops计数器的值
Booboo笔记
serverCron
函数默认每隔100
毫秒执行一次,由配置文件的hz
参数决定;- 时间事件这么多,他们是并发做还是一件一件地做呢?
- 实际处理时间事件的时间, 通常会比时间事件所预定的时间要晚, 至于延迟的时间有多长, 取决于时间事件执行之前, 执行文件事件所消耗的时间。
serverCron
函数的工作主要包括
- 更新服务器状态信息
- 处理服务器接收的
SIGTERM
信号- 管理客户端资源和数据库状态
- 检查并执行持久化操作 等等。