Удалить ключи из редиса старше какого-то времени



Задача: массово удалить ключи их хранилища , старше 1 месяца (изначально у всех ключей выставлялся ttl = 1 год).

Вот как это выглядит для запуска из консоли:
redis-cli -n 2 keys "*" | while read LINE ; do TTL=`redis-cli -n 2 ttl $LINE`; if [ `echo 31622400 $TTL | awk '{print $1 - $2}'` -gt 2678400 ]; then redis-cli -n 2 del "$LINE"; fi; done;


Share Button