gpt4 book ai didi

关于元素过期的 Redis Lettuce Java 库通知

转载 作者:IT王子 更新时间:2023-10-29 06:02:43 24 4
gpt4 key购买 nike

我可以使用 Lettuce 管理 redis 通知吗?我找不到任何示例或文档。当元素在 Redis 中过期时,我只需要在我的 Java 代码中有一些通知/回调。

让我举个例子...对不起,阅读 Lettuce 文档对我没有帮助(我已经花了一些时间)

假设我有一个对象的命名空间,我在其中执行 get 和 set 命令:

"ONLINEUSERS:userid"

我添加一个将在一小时后过期的用户:

syncCommands.setex("ONLINEUSERS:"+userid,3600, mapper.writeValueAsString(userObject));

如何在 3600 秒后执行我的 java 代码中的方法使 key 过期?

我的意思是...在文档中,命令是:

StatefulRedisPubSubConnection<String, String> connection = client.connectPubSub()
connection.addListener(new RedisPubSubListener<String, String>() { ... })

RedisPubSubAsyncCommands<String, String> async = connection.async();
RedisFuture<Void> future = async.subscribe("channel");

// application flow continues

与我的键命名空间的过期事件相匹配的字符串、字符串数组和“ channel ”参数的值是多少?

最佳答案

我遇到了类似的问题。

首先,您需要确保您的 Redis 服务器配置为发布键空间事件通知。默认情况下,这是禁用的。通常,配置文件位于/etc/redis/redis.conf。要查看的属性称为 notify-keyspace-events。如果您希望 Redis 服务器发布过期和删除键的事件,您可以将 Ex 等值传递给 last 属性。应用配置更改后,考虑重新启动 Redis 服务器。

其次,您需要从您的 Redis 客户端实例订阅名称为 __keyevent@0__:expired 的 channel 。

关于关于元素过期的 Redis Lettuce Java 库通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44080137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com