Как включить notify-keyspace-events в приложении Redis Cloud для Heroku?
Я использую аддон Redis Cloud для одного из моих приложений Heroku Java. Я хочу слушать ключевые космические события из моего приложения. Я попытался установить конфигурацию на клиенте Jedis, но я не получаю никаких уведомлений
URI redisUri = new URI(REDIS_CLOUD_URL);
JedisPool pool = new JedisPool(new JedisPoolConfig(),
redisUri.getHost(),
redisUri.getPort(),
Protocol.DEFAULT_TIMEOUT,
redisUri.getUserInfo().split(":",2)[1]);
pool.getResource().getClient().configSet("notify-keyspace-events", "K$");
При использовании встроенного сервера Redis я делаю следующее и получаю уведомления.
RedisServer redisServer = RedisServer.builder().port(6379)
.setting("notify-keyspace-events K$")
.build();
redisServer.start();
Я хочу установить подобный конфиг на Redis Cloud. Есть ли CLI для Redis Cloud или Jedis API, чтобы сделать то же самое?
1 ответ
Вы можете изменить некоторые настройки Redis во время выполнения. Я рекомендую установить переменную config, как только ваше приложение запустится через ваш Redis-клиент: (пример node_redis:)
var client = redis.createClient();
client.config("SET", "notify-keyspace-events", "K$");
Чтобы увидеть, какие события вы можете указать, посмотрите здесь: Redis-Уведомления