Рельсы и кэширование, легко переключиться между мемкача и Redis?

StackOverflow https://stackoverflow.com/questions/4221735

Вопрос

Есть ли общие API так, что если я переключаюсь между Redis или Memcached, мне не нужно менять свой код, просто настройку конфигурации?

Это было полезно?

Решение

До тех пор, пока вы не инициализируете клиента Memcached Memcached, но вы полагаетесь на Rails.cache Общие API, переключение с MEMCACHED на Redis - это просто вопрос установки Redis-Store. и изменение конфигурации из

config.cache_store = :memcached_store

к

config.cache_store = :redis_store

Более Информация о Rails.Cache..

Другие советы

Я ненавижу связываться с вашими целями, но я бы посоветовал с использованием Redis через Memcached для генерических рельсов кэширования.

Я использую Redis и Resque широко в больших вариантах рельсов, и я подумал, что было бы приятно консолидировать кэширование, сырые редис и ресстек в один. Я столкнулся с несколькими большими вопросами:

  1. Во-первых, это было медленнее. Он мог полностью быть моим конкретным использованием, библиотекой Redis-Store или сама Redis. Я не собираюсь ничего плохого, и ваш пробег может варьироваться, но это будет сосать, чтобы сбрасывать много времени на переход на Redis, когда Memcached «просто работает»
  2. Memcached - это приятно, потому что это чрезвычайно легко добавлять серверы и использовать постоянную хеширование для достижения ваших целей. Redis имеет это также, но в моем опыте было трудно одновременно лечить Redis как монолитный хранилище в некоторых частях моего приложения, а в других частях относятся к нему как распределенные, неизменно хэшированные капли кэширования хранения.

Удачи тебе с твоим проектом. Я люблю Redis и Memcached и использую их во всех моих проектах, но я позволил одному сделать свою работу в качестве сервера структуры данных Kick-Ass и позволить другим цаньте на кэшировании.

Аккуратные части Redis включают кэширование «на основе списка» - толкание / появление вещей из этого списка, так как они случаются в вашем приложении.

Вместо того, чтобы освободить большую ценность от MEMCACHED, редактирование его, затем повторно сериализация.

Это будет сделано в RUBY-коде в пользовательском фильтре, по сравнению с основными кэширами рельсов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top