Domanda

C'è un API comune in modo tale che, se posso passare tra Redis o memcached non devo cambiare il mio codice, solo un ambiente di configurazione?

È stato utile?

Soluzione

Fino a quando non si inizializza il cliente Memcached da soli, ma si basano su Rails.cache comuni API, il passaggio da Memcached a Redis è solo una questione di installazione di Redis-store e cambiando la configurazione da

config.cache_store = :memcached_store

a

config.cache_store = :redis_store

Rails.cache .

Altri suggerimenti

Non mi piace a pasticciare con i vostri obiettivi, ma vorrei consigliare di non usare Redis sopra memcached per le rotaie generici nella cache.

Io uso Redis e Resque ampiamente in un'applicazione grandi rotaie e ho pensato che sarebbe stato bello per consolidare la memorizzazione nella cache, Redis prime e resque in uno solo. Mi sono imbattuto in un paio di grandi temi:

  1. Prima di tutto, è stato più lento. Avrebbe potuto totalmente stato il mio utilizzo specifico, la biblioteca Redis-negozio o si Redis. Io non ho intenzione di parlare male di niente e la vostra situazione potrebbe essere diversa, ma sarebbe succhiare per scaricare un sacco di tempo per la commutazione Redis quando memcached "funziona"
  2. Memcached è bello perché è estremamente facile da aggiungere server e utilizzare hashing coerente per realizzare i tuoi obiettivi. Redis ha anche questo, ma nella mia esperienza era difficile Redis contemporaneamente trattare come sia un datastore monolitico in alcune parti della mia app e in altre parti trattarlo come un distribuiti, blob costantemente hash di memorizzazione nella cache di stoccaggio.

Buona fortuna con il vostro progetto. Amo Redis E Memcached e li usa in tutti i miei progetti, ma ho lasciato uno farlo proprio lavoro come un server di struttura di dati kick-ass e lasciare l'altra calci in culo alla cache.

Le parti ordinate di Redis includono la memorizzazione nella cache "basati su elenco" cose - che spingono / popping cose da questa lista che avvengono nella vostra app.

Invece di de-serializzazione un grande valore da memcached, modificarlo, poi ri-serializzazione.

Questo sarebbe stato fatto in codice Ruby in un filtro personalizzato, contro la cache rotaie di base.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top