TL;DR: Pour quelque chose de nouveau, l'utilisation de Redis.
Mise à jour 10/9/2014
Aujourd'hui marque le jour de la memcached n'a plus aucun des avantages significatifs sur le redis, tandis que le redis continue à avoir de nombreux avantages distincts par rapport à memcached. Aujourd'hui, redis 3.0, qui comprend le Redis Cluster, est sorti de bêta et entra dans la version Release Candidate. Auparavant, lorsque l'on regarde memcached vs redis, vous pourriez être enclin à choisir memcached en raison de la 3ème partie outils de clustering de disponible. Maintenant redis offre de clustering, et à la différence de memcached soutien est fourni out-of-the-box. Être intégré fournit une solution plus robuste et plus facile à administrer. Combiné avec d'autres haut de la disponibilité des outils dans la boîte comme la réplication et de la Sentinelle (monitoring), redis clairement a la plus convaincante de mise à l'échelle histoire aujourd'hui.
Au jour d'aujourd'hui toutes les caractéristiques principales et la force memcached offre maintenant un sous-ensemble de redis' caractéristiques et points forts. Toute utilisation, vous pouvez utiliser memcached pour le redis peut résoudre de la même manière. Ils sont à la fois la vitesse de l'éclair, alors que la volatilité des caches. Alors que c'est tous que memcached est son seul la pointe de l'redis iceberg.
Memcached est un volatile en mémoire dans le magasin de clé/valeur. Redis peut agir comme un (et de faire ce travail, ainsi que memcached), mais c'est une structure de données du serveur.
La Redis-Ensemble
Voici quelques-unes des fonctionnalités que redis large offre qui memcached ne l'est pas et permet redis pour être utilisé comme un "vrai" magasin de données au lieu de juste un cache.
- Puissant types de données et de commandes puissantes, à l'effet de levier. Tables de hachage, les Ensembles classés, des Listes, et plus encore.
- La persistance de disque par défaut.
- Les Transactions avec le verrouillage optimiste (REGARDER/MULTI/EXEC)
- Pub/sub. Extrêmement rapide.
- Des valeurs allant jusqu'à 512 mo (memcached limitée à 1 mo par clé)
- Script Lua (2.6)
- Construit en clustering ( 3.0)
- Extrêmement rapide à tout. Les repères sont souvent contradictoires, mais c'est beaucoup plus clair: lorsqu'il est utilisé comme memcached Redis se situe quelque part entre presque aussi rapide ou peut-être même un peu plus vite. Comme memcached il est souvent lié par le réseau ou bande passante de la mémoire au lieu de PROCESSEUR ou d'autres goulots d'étranglement et sera rarement le coupable lorsque votre application est en train de ralentir.
Le puissant types de données sont particulièrement importantes. Ils permettent redis à fournir un fantastique files d'attente partagées (listes), une excellente solution de messagerie (pub/sub), un bon endroit pour stocker les sessions (hachages), et un endroit incontournable pour le score élevé de suivi (ensembles classés). Ce ne sont que quelques exemples que gratter la surface.
Conclusion
Pour répondre à votre question initiale: La performance et l'utilisation de la mémoire de Redis par rapport à memcache devraient être relativement similaires. Assez proche que pour la plupart des utilisations aucune différence de performances dans les deux sens académique comme ni est susceptible d'être le goulot d'étranglement.
Sauf si vous avez déjà un investissement important dans memcached, redis est la solution la plus évidente. Pour des solutions à la fois des outils permettrait de résoudre, celle qui offre plus de flexibilité pour les nouveaux cas d'utilisation et permet aussi une meilleure out-of-the-box de disponibilité, d'évolutivité et de l'administration: le redis.
Non seulement redis la meilleure option pour les endroits que vous pourriez utiliser memcached, il permet tout de nouveaux types de cas d'utilisation et les modes d'utilisation.
Memcached est un beau morceau de logiciel qui est stable et durci. Si vous avez déjà un investissement important dans memcached, alors vous pouvez rester avec elle. Il existe de nombreux cas d'utilisation où redis est-bonne-comme memcached, mais n'est pas mieux. Évaluer les avantages de redis (le cas échéant) et le comparer avec le coût de la commutation. Faire votre propre détermination, si vous vous déplacez à redis est utile de votre temps.