Cela dépend de ce dont vous avez besoin, mais en général, je pense que.. :
- Vous ne devez pas trop vous soucier des performances. Redis est plus rapide par cœur avec de petites valeurs, mais memcached est capable d'utiliser plusieurs cœurs avec un seul exécutable et un seul port TCP sans l'aide du client. memcached est également plus rapide pour les grandes valeurs de l'ordre de 100k. Redis s'est récemment beaucoup amélioré pour les grandes valeurs (branche instable) mais memcached est toujours plus rapide dans ce cas d'utilisation. Le point ici est : ni l'un ni l'autre ne sera probablement votre goulot d'étranglement pour les requêtes par seconde qu'ils peuvent fournir.
- Vous devez vous soucier de l'utilisation de la mémoire. Pour de simples paires clé-valeur, memcached est plus efficace en termes de mémoire. Si vous utilisez des hachages Redis, Redis est plus efficace en termes de mémoire. Cela dépend du cas d'utilisation.
- Vous devriez vous préoccuper de la persistance et de la réplication, deux fonctionnalités uniquement disponibles dans Redis. Même si votre objectif est de construire un cache, il est utile que vos données soient toujours là après une mise à jour ou un redémarrage.
- Vous devez vous soucier du type d'opérations dont vous avez besoin. Dans Redis il y a beaucoup d'opérations complexes, même en considérant seulement le cas d'utilisation de la mise en cache, vous pouvez souvent faire beaucoup plus en une seule opération, sans exiger que les données soient traitées côté client (beaucoup d'E/S sont parfois nécessaires). Ces opérations sont souvent aussi rapides que les simples GET et SET. Ainsi, si vous n'avez pas seulement besoin de GET/SET, mais de choses plus complexes, Redis peut vous être d'une grande aide (pensez à la mise en cache temporelle).
Sans un cas d'utilisation, il est difficile de choisir pour le moment, mais je pense que pour beaucoup de choses Redis a du sens, car même si vous ne voulez pas l'utiliser comme une base de données, étant beaucoup plus capable, vous pouvez résoudre plus de problèmes, pas seulement la mise en cache, mais même la messagerie, le classement, etc.
P.s. Bien sûr, je peux être partial puisque je suis le principal développeur du projet Redis.
0 votes
Une lecture complémentaire intéressante : nosql.mypopescu.com/post/519078332/memcached-on-top-of-redis
9 votes
Ce benchmark de ruturaj ne mérite pas vraiment que l'on s'y attarde
0 votes
@user373345 Je suis d'accord, le test de ruturaj n'utilise pas les benchmarks appropriés, donc très probablement les différents clients influencent le test.
0 votes
Salut les gars ! Merci pour votre contribution. Qu'est-ce qui se passe avec le mot "ruturaj" ? :)
0 votes
C'est le nom du site sur lequel vous avez obtenu l'indice de référence.
2 votes
Nous avons commencé à expérimenter avec Membase au travail, et nous sommes satisfaits jusqu'à présent. Bien que nous venions de Memcache, le fait d'avoir un remplacement rapide était un plus appréciable : membase.org
0 votes
@jaysho Merci pour votre réponse
2 votes
Redis est aussi rapide que memcached pour les tests de référence non conçus pour le monde réel. Cela ne veut pas dire qu'il est lent - il est certainement assez rapide pour la plupart des charges de travail, mais les choses plus rapides que memcached ne font que révéler les bugs de memcached. C'est presque toujours un goulot d'étranglement dû au matériel ou à une mauvaise conception de l'application.
4 votes
Je suis surpris que la patrouille de la sainteté du SO n'ait pas fermé cette question comme étant non appropriée et non utile.