В настоящее время я использую Redis в качестве рабочей очереди для Sidekiq. Мне также интересно использовать его как механизм кэширования для Rails.cache.Memcached vs Redis as Rails.cache, когда требуется кеш LRU
Рекомендуемый механизм кеширования Rails никогда не истекает, и полагается на выселение наименее недавно использованного (LRU) элемента. К сожалению, Redis по умолчанию не настроен на вытеснение наименее недавно используемого элемента, в то время как рекомендуемый кэш-хранилище memcached.
Кроме того, выселение элементов не является поведением, которое я бы хотел для своей рабочей очереди, и настройка того же экземпляра Redis для этого может привести к нежелательным результатам. Я также не хочу, чтобы моя очередь делилась циклами с моим кешем.
Что бы вы посоветовали в этой ситуации? Второе хранилище redis для работы в качестве кеша и настройка LRU? Или просто используйте рекомендуемые рельсы memcached cache store и используйте только redis для очереди?
Я склоняюсь к использованию как Redis, так и Memcached, несмотря на множество статей переполнения стека, рекомендующих в противном случае. memcached, поддерживающий выселение LRU по умолчанию, является тем, что меня побеждает.
Некоторые статьи:
Hidden глубже в комментариях, плакаты отметить, что Memcached в LRU выселении как отличный повод, чтобы использовать его в качестве кэш-памяти.
Вам нужно два отдельных развертывания независимо от того, переходите ли вы все или используете оба memcached и redis. Вы не хотите, чтобы ваше кэширование повлияло на вашу очередь и наоборот. Увидев, как memcached работает из коробки для кэширования LRU, а redis - нет, я считаю, что проще использовать две разные технологии. У меня не было проблем с обслуживанием, между которыми, но, возможно, я еще не в том масштабе, где это имеет значение. – dimroc
http://stackoverflow.com/a/3080771/639773 – dimroc