Интересный вопрос :) Да, вы можете сделать это с помощью хитрости.
Как мы знаем, Redis TTL может автоматически уменьшаться со временем. Таким образом, вы можете использовать TTL в качестве значения, и TTL будет уменьшаться на 1 каждую секунду.
Скажем, вы хотите установить значение N
, чтобы достичь своей цели, вы можете установить ключ пара-значение с истечением TTL = 60 * N
:
SET key N EX TTL
Если вы хотите получить значение, просто получите его TTL и выполните некоторые математические операции:
ttl = TTL key
if (ttl > 0)
value = ttl / 60 + 1
else
// no longer exist