Как включить 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-Уведомления

Другие вопросы по тегам