Redis读写期间键空间的维护

2018-11-14  本文已影响0人  小码弟
Unknown.jpg

当使用Redis命令对数据库进行读写时,服务器不仅会对键空间执行指定的读写操作,还会执行一些额外的维护操作。

  1. 读取一个键之后(读操作和写操作都要对键进行读取),服务器会根据键是否存在来更新键空间的命中次数和不命中次数。这两个值可以在INFO stats的keyspace_hits和keyspace_missing属性中查看。

    Snip20181114_8.png
  2. 读取一个键之后服务器会更新键的LRU时间,即最近一次的访问时间。它用来计算键的空转时间,使用OBJECT idletime命令可以查看键key的闲置时间(秒)

    Snip20181114_9.png
  3. 如果服务器在读取一个键时发现该键已经过期,那么服务器会先删除这个过期键,然后才执行余下的其他操作

  4. 如果有客户端使用WATCH命令监视了某个键,那么服务器在对被监视键进行修改后,会将这个键标记为dirty,从而告诉客户端这个键已经被改过了。

  5. 服务器每次修改一个键,都会对脏键计数器增1,这个计数器会触发服务器的持久化和复制操作。

  6. 如果服务器开启了数据库通知功能,那么在对键进行修改之后,服务器将按配置发送相应的数据库通知

上一篇下一篇

猜你喜欢

热点阅读