Я использую 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("*");
Но ничего не полученочто я делаю не так?
Заранее спасибо.