J'utilise un Magento EE 1.12.2 (également dans CE 1.7.2) où nous avons Redis pour la mise en cache ( extension Cm_Cache, Redis v 2.2.12 ), mais nous utilisons Memcache pour le stockage de session.
Redis n'est pas pris en charge immédiatement sur ces versions de Magento. Donc, ma préoccupation ici est:
- Vaut-il la peine d'avoir du stockage de session dans Redis en termes d'effort par rapport à l'amélioration de la vitesse?
- Memcache n'est-il pas aussi bon ou peut-être même meilleur?
Dans ce projet, nous avons de gros fichiers de session car nous devons stocker des fichiers XML tiers dans la session, donc l'optimisation de la lecture et de l'écriture de session peut avoir un impact considérable.
De local.xml
:
<session_save><![CDATA[memcache]]></session_save>
Et:
<cache>
<backend>Cm_Cache_Backend_Redis</backend>
[...]
</cache>
CM Redis Cache dans 1.7.2 n'est pas un hack, Magento vient d'ajouter le code par défaut à 1.8+ car il fonctionne si bien et est implémenté facilement.
Redis prend en charge le cache et la session dans la même instance de serveur en raison des bases de données. Dans memcached, vous commenceriez probablement plusieurs instances de memcached.
Memcached a également la possibilité d'écrire sur le disque, cela peut être utilisé pour enregistrer des sessions après un redémarrage du service. Lors de l'écriture sur le disque, memcached peut générer des erreurs sur votre site car il se verrouille pendant quelques instants. Redis s'en occupera mieux, comme d'autres questions sur cette pile ont déjà été montrées.
Je recommanderais donc Redis plutôt que memcached.
la source
Ce n'est malheureusement pas une réponse en noir et blanc. Donc, je vais vous donner les avantages et les inconvénients:
Memcache:
Redis:
Maintenant, si la vitesse est votre seule préoccupation, exécutez simplement un test de charge. Un compte gratuit chez Blazemeter vous permet de travailler avec 50 utilisateurs virtuels, ce qui devrait être suffisant pour mesurer les différences.
la source