【发布时间】:2020-08-11 21:38:41
【问题描述】:
我在看这个页面:https://redis.io/topics/notifications
我在我的配置文件中设置了以下行:
notify-keyspace-events "Kx"
当我这样做(然后运行我的应用程序最终使某些密钥过期)时,我看不到任何事件:
redis-cli --csv psubscribe '__keyspace*__:*expire*'
但是,当我将配置设置为:
notify-keyspace-events "Kg"
然后运行相同的应用程序和 redis-cli 命令,我确实看到了事件:
"pmessage","__keyspace*__:*expire*","__keyspace@0__:spring:session:wca:sessions:expires:9d73fefc-459d-4bf4-83ef-b8fcbf06b997","expire"
"pmessage","__keyspace*__:*expire*","__keyspace@0__:spring:session:wca:sessions:expires:9d73fefc-459d-4bf4-83ef-b8fcbf06b997","expire"
"pmessage","__keyspace*__:*expire*","__keyspace@0__:spring:session:idp:sessions:expires:52dbe449-4616-41ef-bfa6-1d7a16a89f8a","expire"
"pmessage","__keyspace*__:*expire*","__keyspace@0__:spring:session:idp:sessions:expires:52dbe449-4616-41ef-bfa6-1d7a16a89f8a","expire"
"pmessage","__keyspace*__:*expire*","__keyspace@0__:spring:session:idp:sessions:expires:52dbe449-4616-41ef-bfa6-1d7a16a89f8a","expire"
"pmessage","__keyspace*__:*expire*","__keyspace@0__:spring:session:idp:sessions:expires:52dbe449-4616-41ef-bfa6-1d7a16a89f8a","expire"
我了解,到期不一定会在 TTL 已过时发生。但我不确定这是否解释了我所看到的——我的 redis-cli 只寻找“过期”事件,并且它始终会在我通知通用命令时(且仅当)看到它们。这对我的应用来说太健谈了;我只是想看看过期。
感谢任何帮助。谢谢!
【问题讨论】:
-
我很好奇当你这样做时会发生什么
AK -
@Thymine IIRC 我今天早些时候尝试过。它有效,但非常健谈。
标签: redis