Redis读写键空间时的维护操作
当redis命令对数据库进行读写时,服务器不仅会对键空间执行指定的读写操作,还会执行一些额外的维护操作
在读取一个键之后(读写都会对键进行读取),服务器会根据键是否存在...,来更新服务器的键空间命中(hit)次数或键空间不命中(miss)次数
在读取一个键之后,服务器会更新键的LRU(最后一次访问时间),这个值可以用于计算键的空闲时间
如果服务器发现这个键过期了,会先删除这个过期键...服务器每次修改一个键之后,都会对脏(dirty)键计数器的值增1,这个计数器会触发服务器的持久化及复制操作
如果服务器开启了数据库通知功能,那么在对键进行修改之后,服务器将按配置发送相应的数据库通知。...过期时间
redisDb结构的expires字典保存了数据库中所有键的过期时间,我们称这个字典为过期字典;
过期字典的键是一个指针,这个指正指向键空间中的某个键对象(就是也是 键,跟键空间的键指向同一个...,删除里面的过期键,至于要删除多少过期键,以及要检查多少个删除库,由算法决定;
定期删除策略难点在于确定删除操作执行的时长和频率,服务器必须根据情况,合理的设置执行时长和频率
Redis的过期删除策略