Question

Y at-il une api commune telle que si je passe entre Redis ou Memcached Je n'ai pas changer mon code, juste un paramètre de configuration?

Était-ce utile?

La solution

Tant que vous n'initialisez pas le client Memcached vous, mais vous comptez sur l'API commune de Rails.cache, passant de Memcached à Redis est juste une question de l'installation Redis magasin et modifier la configuration de

config.cache_store = :memcached_store

à

config.cache_store = :redis_store

Plus d'infos sur Rails.cache .

Autres conseils

Je déteste jouer avec vos objectifs, mais je déconseiller l'utilisation du Redis sur memcached pour rails génériques mise en cache.

J'utilise Redis et resque largement dans une application à grande rails et je pensais que ce serait bien de consolider la mise en cache, Redis premières et resque en un seul. Je suis tombé sur quelques grandes questions:

  1. Tout d'abord, il a été plus lente. Il aurait pu tout à fait été mon usage spécifique, la bibliothèque Redis magasin ou se Redis. Je ne vais rien dire du mal et votre kilométrage peut varier, mais il serait aspirer à jeter beaucoup de temps à commutation Redis lorsque memcached « fonctionne juste »
  2. Memcached est agréable car il est très facile d'ajouter des serveurs et utiliser le hachage cohérente pour atteindre vos objectifs. Redis a cela aussi, mais dans mon expérience, il était difficile de traiter simultanément Redis à la fois comme un datastore monolithique dans certaines parties de mon application et dans d'autres parties traitent comme une distribués, blobs systématiquement hachurées de stockage en cache.

Bonne chance avec votre projet. J'adore Redis et Memcached et de les utiliser dans tous mes projets, mais je laisse un faire son travail en tant que serveur de structure de données kick-ass et laissez l'autre âne un coup à la mise en cache.

Les parties nettes de Redis comprennent la mise en cache « liste basée sur » des choses - pousser / éclater les choses de cette liste comme ils se produisent dans votre application.

Plutôt que de-sérialisation une grande valeur de memcached, l'éditer, puis re-sérialisation il.

Ceci sera fait dans le code Ruby dans un filtre personnalisé, par rapport au cache de rails de base.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top