Pregunta

¿Existe una API común de tal manera que si cambio entre Redis o MemCached no tengo que cambiar mi código, sólo un ajuste de configuración?

¿Fue útil?

Solución

Mientras no inicializa el cliente Memcached sí mismo, sino que se basan en la API Rails.cache común, el cambio de Memcached a Redis es sólo una cuestión de instalar REDIS-store y cambiar la configuración a

config.cache_store = :memcached_store

a

config.cache_store = :redis_store

Más información sobre Rails.cache .

Otros consejos

No me gusta meterse con sus objetivos, pero yo aconsejaría contra el uso de Redis sobre memcached para los carriles genéricos almacenamiento en caché.

Yo uso Redis y resque ampliamente en una aplicación de grandes rieles y pensé que sería bueno para consolidar el almacenamiento en caché, Redis primas y resque en una sola. Me encontré con algunos problemas grandes:

  1. En primer lugar, era más lento. Podría haber sido totalmente mi uso específico, la biblioteca Redis-tienda o ReDiS sí. No voy a hablar mal nada y su experiencia puede variar, pero sería aspirar a volcar un montón de tiempo de conmutación para Redis cuando memcached "simplemente funciona"
  2. Memcached es agradable porque es muy fácil de añadir servidores y utilizar hash consistente para lograr sus objetivos. Redis tiene esto también, pero en mi experiencia, es difícil de tratar Redis simultáneamente tanto como un almacén de datos monolítica en algunas partes de mi aplicación y en otras partes tratan como un hash distribuidas gotas, consistente de almacenamiento en caché de almacenamiento.

Buena suerte con su proyecto. Me encanta Redis Y MemCached y utilizarlos en todos mis proyectos, pero dejo que uno hacer su trabajo como un servidor de estructura de datos kick-culo y dejar que la otra patada en el culo de uno en el almacenamiento en caché.

Las partes ordenadas de Redis incluyen el almacenamiento en caché cosas "basados ??en listas" - avance / apareciendo cosas de esta lista a medida que ocurren en su aplicación.

En lugar de de-serializar un valor grande de memcached, editarlo, y luego volvió a la serialización de la misma.

Esto se haría en el código de rubí en un filtro personalizado, frente a la caché de rieles básica.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top