订阅键空间通知中的更改

时间:2018-09-26 13:30:54

标签: java redis lettuce

我正在使用redis作为Java应用程序中的数据缓存。为了连接到Redis,在此应用程序中选择lettuce作为客户端。我已经在redis.conf中激活了键空间/键事件通知,以接收数据更新(SET)。

要测试此更改的效果,我在服务器中使用了redis-cli命令,如下所示:

redis-cli --csv psubscribe '*'

并成功收到通知。您可以在下面看到此命令的输出:

Reading messages... (press Ctrl-C to quit)
"psubscribe","*",1
"pmessage","*","__keyspace@0__:key2","set"
"pmessage","*","__keyevent@0__:set","key2"

在我的Java客户端中,我使用了以下代码块来订阅这些事件:

RedisClient redisClient = RedisClient.create("redis://localhost:6379").build();
StatefulRedisPubSubConnection<String, String> conn = redisClient.connectPubSub();
conn.addListener(new RedisPubSubAdapter<String, String>({
    @override
    public void message(String pattern, String channel, String message) {
        System.out.println("Received notification");
    }
});

conn.sync().psubscribe("*");

但是什么都没收到,我在做什么错了?

谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,这与编解码器的实现有关。

相关问题