Получение и удаление ключа за один звонок с сервера Redis - PullRequest
0 голосов
/ 27 апреля 2020

В случае использования я хочу удалить ключ при получении с сервера Redis за один вызов, т. Е. Ключ используется один раз. Я использую библиотеку салата для подключения к серверу Redis.

Существует ли какая-либо конкретная c конфигурация, доступная в Redis Side, или какой-либо конкретный c салатовый API, который я могу использовать? Мой пример кода выглядит следующим образом.

RedisAsyncCommands<String, String> command = notificationConnection.async();
CompletionStage<String> result = command.get(id)

Салат: 5.2.2

Redis: 5.0.8

спасибо,

Ашок.

1 Ответ

3 голосов
/ 27 апреля 2020

Нет единой команды, чтобы сделать это оба. Ваша библиотека может иметь метод, который может сделать это оба, но redis получит две команды. Если вы хотите, чтобы он был атомом c, то вы можете либо указать для своих команд multi / exec, либо использовать lua script. Вот пример использования транзакций с redis.

127.0.0.1:6379> multi OK 127.0.0.1:6379> get a QUEUED 127.0.0.1:6379> del a QUEUED 127.0.0.1:6379> exec 1) "b" -> result of get 2) (integer) 1 -> result of del

...