当使用Redis命令对数据库进行读写时,服务器不仅会对键空间执行指定的读写操作,还会执行一些额外的维护操作。
-
读取一个键之后(读操作和写操作都要对键进行读取),服务器会根据键是否存在来更新键空间的命中次数和不命中次数。这两个值可以在
Snip20181114_8.pngINFO stats
的keyspace_hits和keyspace_missing属性中查看。
-
读取一个键之后服务器会更新键的LRU时间,即最近一次的访问时间。它用来计算键的空转时间,使用
Snip20181114_9.pngOBJECT idletime
命令可以查看键key的闲置时间(秒)
-
如果服务器在读取一个键时发现该键已经过期,那么服务器会先删除这个过期键,然后才执行余下的其他操作
-
如果有客户端使用
WATCH
命令监视了某个键,那么服务器在对被监视键进行修改后,会将这个键标记为dirty,从而告诉客户端这个键已经被改过了。 -
服务器每次修改一个键,都会对脏键计数器增1,这个计数器会触发服务器的持久化和复制操作。
-
如果服务器开启了数据库通知功能,那么在对键进行修改之后,服务器将按配置发送相应的数据库通知
网友评论