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

Может я чего не доглядел?
  • Вопрос задан
  • 3405 просмотров
Подписаться 2 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
EugeneOZ
@EugeneOZ
ой, сорри, я вообще неправильно понял вопрос — предыдущий ответ забудьте :)

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽