您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Redis从站上info命令列出的到期密钥数与我看到的不一致

Redis从站上info命令列出的到期密钥数与我看到的不一致

expires包含将过期的现有TTL密钥,不包括已过期的密钥。示例(info为简洁起见,省略了命令中的其他信息):

127.0.0.1:6379> flushall
OK
127.0.0.1:6379> SETEX mykey1 1000 "1"
OK
127.0.0.1:6379> SETEX mykey2 1000 "2"
OK
127.0.0.1:6379> SETEX mykey3 1000 "3"
OK
127.0.0.1:6379> info
# Keyspace
db0:keys=3,expires=3,avg_ttl=992766
127.0.0.1:6379> SETEX mykey4 1 "4"
OK
127.0.0.1:6379> SETEX mykey5 1 "5"
OK
127.0.0.1:6379> info
# Keyspace
db0:keys=3,expires=3,avg_ttl=969898
127.0.0.1:6379> keys *
1) "mykey2"
2) "mykey3"
3) "mykey1"
127.0.0.1:6379>

鉴于您的情况,您会根据https://github.com/antirez/redis/issues/2861询问有关奴隶的密钥到期的信息:

从属服务器上的密钥未主动过期,因此从不计算avg_ttl

并按照https://groups.google.com/forum/#!topic/redis- db/NFTpdmpOPnc进行操作:

avg_ttl永远不会在从属服务器上初始化,因此它可以是任意值驻留在该位置的内存中的任何值。

因此,可以预期该info命令在从站上的行为会有所不同。

其他 2022/1/1 18:14:49 有547人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶