目录
一、前言
Redis服务器中的 serverCron函数默认每隔100毫秒执行一次,这个函数负责管理服务器的资源,并保持服务器自身的良好运转。
二、serverCron函数做了哪些事
(1)更新服务器时间缓存
Redis服务器中有不少功能需要获取系统的当前时间,而每次获取系统的当前时间都需要执行一次系统调用,为了减少系统调用的执行次数,服务器状态中的 unixtime属性和mstime属性被用作当前时间的缓存。
serverCron函数默认会以每100毫秒一次的频率更新 unixtime属性和mstime属性,所以这两个属性记录的时间的精确度并不高。
(2) 更新LRU时钟
服务器状态中的lruclock属性保存了服务器的LRU时钟,这个属性和上面介绍的unixtime属性、 mstime属性一样,都是服务器时间缓存的一种。lru属性保存了对象最后一次被命令访问的时间。
当服务器要计算一个数据库键的空转时间,程序会用服务器的lruclock属性记录的时间减去对象的lr