Задать вопрос
@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 убивает предыдущее значение.

Может я чего не доглядел?
  • Вопрос задан
  • 3406 просмотров
Подписаться 2 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Stepik
    Язык программирования PHP
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
EugeneOZ
@EugeneOZ
ой, сорри, я вообще неправильно понял вопрос — предыдущий ответ забудьте :)

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

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

Похожие вопросы