Настройка Redis для последовательного удаления старых данных в первую очередь

Я храню кучу данных в реальном времени в Redis. Я устанавливаю TTL 14400 секунд (4 часа) для всех клавиш. Я установил для maxmemory значение 10G, которого в настоящее время недостаточно для размещения 4 часов данных в памяти, и я не использую виртуальную память, поэтому redis удаляет данные до истечения срока их действия.

Я в порядке с повторным удалением данных, но мне бы хотелось, чтобы сначала были удалены самые старые данные. Поэтому, даже если у меня нет полных 4 часов данных, по крайней мере, у меня может быть некоторый диапазон данных (3 часа, 2 часа и т. Д.) Без пропусков. Я пытался сделать это, установивmaxmemory-policy=volatile-ttlдумая, что самые старые ключи будут выселены первыми, так как все они имеют одинаковый TTL, но это не работает таким образом. Похоже, что redis высвобождает данные несколько произвольно, поэтому в результате я получаю пробелы в своих данных. Например, сегодня данные за 2012-01-25T13: 00 были выселены до данных за 2012-01-25T12: 00.

Можно ли настроить redis для последовательного удаления старых данных в первую очередь?

Вот соответствующие строки из моего файла redis.cnf. Дайте мне знать, если вы хотите увидеть больше конфигурации:

maxmemory 10gb
maxmemory-policy volatile-ttl
vm-enabled no

Ответы на вопрос(1)

Ваш ответ на вопрос