Redis_Server_serverCron函数

2017-11-15 Booboo

Redis服务器中的serverCron函数默认每隔100ms执行一次,该函数负责管理服务器的资源,并保持服务器自身的良好运转:

  1. 更新服务器时间缓存
  2. 更新LRU时钟
  3. 更新服务器每秒执行命令次数
  4. 更新服务器内存峰值记录
  5. 处理SIGTERM信号
  6. 管理客户端资源
  7. 管理数据库资源
  8. 执行被延迟的BGREWRITEAOF
  9. 检查持久化操作的运行状态
  10. 将AOF缓冲区的内容写入AOF文件
  11. 关闭异步客户端
  12. 增加cronloops计数器的值

Booboo笔记

  1. serverCron 函数默认每隔 100 毫秒执行一次,由配置文件的hz参数决定;
  2. 时间事件这么多,他们是并发做还是一件一件地做呢?
  3. 实际处理时间事件的时间, 通常会比时间事件所预定的时间要晚, 至于延迟的时间有多长, 取决于时间事件执行之前, 执行文件事件所消耗的时间。
  4. serverCron 函数的工作主要包括
  • 更新服务器状态信息
  • 处理服务器接收的 SIGTERM 信号
  • 管理客户端资源和数据库状态
  • 检查并执行持久化操作 等等。