работа с redis maxmemory с помощью rails при использовании кэширования rails - PullRequest
1 голос
/ 28 февраля 2012

Когда redis попадает в условие 'maxmemory', оно позволяет клиенту выполнять чтение, но не запись.

Конечно, это приводит к фатальной ошибке ... есть ли способ заставить Rails обрабатывать ошибку чтения или записи в кэш, поэтому, если с кэшем случится что-то плохое (доступность, чтение, запись и т. Д.), Он продолжится работать так, как если бы кэширование было отключено?

1 Ответ

0 голосов
/ 30 октября 2012

Существуют различные способы поведения, которым вы можете предписывать 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...