Задача: логирование сайта на 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 убивает предыдущее значение.
извените, а вы вопрос читали? про то, что RPUSH уничтожает предыдущее значение, если поставить EXPIRE? но если почитать уточнения к вопросу, то будет видно, что проблема была в старой версии