Redis установил ttl на ключ идемпотентно - PullRequest
0 голосов
/ 24 мая 2018

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

Существует ли идемпотентный метод в Redis для установки ttl, если он не существует для ключа

1 Ответ

0 голосов
/ 24 мая 2018

Сценарий Lua был бы самым мощным подходом - см. Документацию EVAL для получения дополнительной информации о том, как составлять такие сценарии, и обратитесь к SCRIPT LOAD и EVALSHA за их запуск.

Что-то вроде следующего примера должно вас исправить:

if tonumber(redis.call('TTL', KEYS[1])) < 1 then
  redis.call('EXPIRE', KEYS[1], ARGV[1])
end
...