2012-02-27 1 views
1

Когда redis попадает в состояние «maxmemory», он позволяет клиенту читать, но не писать.обработка ситуаций redis maxmemory с рельсами при использовании кэширования рельсов

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

+0

Лучшее, что можно сделать, просто поймать исключение? – Geremy

ответ

0

Есть разные способы поведения, которые вы можете сказать 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 

Может быть, самые лучшие варианты есть «летучий-ТТЛ», и убедитесь, что все кэши включают: варианты expires_in.

Я не эксперт, и я этого не сделал. Это просто основа для моего нынешнего понимания redis и рельсов.

+0

Как добавить эти конфигурации непосредственно в приложение Rails? Я тоже добавил этот вопрос. http://stackoverflow.com/questions/17537795/rails-redis-setting-maxmemory-and-maxmemory-policy – Matilda

+0

Redis-rb, ruby ​​Gem for Rails кэширование, использующее Redis, еще не реализовало maxmemory. – Matilda

 Смежные вопросы

  • Нет связанных вопросов^_^