@joger

Redis: как сделать EXPIRE для сета(sets)?

Задача: логирование сайта на redis
Моё решение: все логи пишутся в redis с TTL в 30 минут. каждые 10 мин запускается скрипт, который получает средние значения для 10 мин и сохраняет их в MySQL.
В Redis ключи это UNIX TIMESTAMP, а Set состоит из событий. произошедших за данную секунду.
Проблема: я не могу поставить EXPIRE на Set, который постоянно обновляется.
т.е.
RPUSH 'a' 'b'
EXPIRE 'a' 120
RPUSH 'a' 'c'
EXPIRE 'a' 120
LRANGE 'a' 0 -1 => 'c'
потому что любой RPUSH после EXPIRE убивает предыдущее значение.

Может я чего не доглядел?
  • Вопрос задан
  • 3390 просмотров
Пригласить эксперта
Ответы на вопрос 1
EugeneOZ
@EugeneOZ
ой, сорри, я вообще неправильно понял вопрос — предыдущий ответ забудьте :)

ответ 2: у редис есть функция TTL
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы