Существуют различные способы поведения, которым вы можете предписывать redis соблюдать, когда он заполняет свою память.
# volatile-lru -> remove the key with an expire set using an LRU algorithm
# allkeys-lru -> remove any key accordingly to the LRU algorithm
# volatile-random -> remove a random key with an expire set
# allkeys->random -> remove a random key, any key
# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
# noeviction -> don't expire at all, just return an error on write operations
по умолчанию
# maxmemory-policy volatile-lru
Возможно, лучшим вариантом является 'volatile-ttl', и убедитесь, что все ваши кеши содержат опции: expires_in.
Я не эксперт, и я этого не делал. Это просто основано на моем нынешнем понимании Redis и Rails.