#spring-boot #redis #spring-data #spring-data-redis
Вопрос:
Есть ли способ запустить следующую команду из Spring Data Redis, возможно, с помощью RedisTemplate
?
$ redis-cli config set notify-keyspace-events Ex
Насколько я понимаю RedisTemplate
, можно запускать сценарии lua, можно ли преобразовать вышеперечисленное в один?
Ответ №1:
Отвечая на мой собственный вопрос, выясняется, что нет необходимости запускать lua-скрипт:
При использовании нереактивного подключения Redis:
RedisConnection conn = null;
try {
conn = connectionFactory.getConnection();
conn.setConfig("notify-keyspace-events", "Ex");
} finally {
if (conn != null) {
conn.close();
}
}
При использовании реактивного подключения Redis:
ReactiveRedisConnection conn = connectionFactory.getReactiveConnection();
conn
.serverCommands()
.setConfig("notify-keyspace-events", "Ex")
.filter(status -> status.equals("OK"))
.doFinally(unused -> conn.close())
.block(Duration.ofSeconds(5L));