Redis
 sql >> Base de données >  >> NoSQL >> Redis

Memcached est-il un dinosaure par rapport à Redis ?

Tout dépend de ce dont vous avez besoin, en général je pense que :

  • Vous ne devriez 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 avec de grandes valeurs de l'ordre de 100k. Redis a récemment beaucoup amélioré les grandes valeurs (branche instable), mais le 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 le nombre de requêtes par seconde qu'ils peuvent fournir.
  • Vous devez vous soucier de l'utilisation de la mémoire. Pour les paires clé-valeur simples, memcached est plus économe en mémoire. Si vous utilisez des hachages Redis, Redis est plus économe en mémoire. Dépend du cas d'utilisation.
  • Vous devez vous soucier de la persistance et de la réplication, deux fonctionnalités uniquement disponibles dans Redis. Même si votre objectif est de créer un cache, il est utile qu'après une mise à niveau ou un redémarrage, vos données soient toujours là.
  • 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 tenant compte du cas d'utilisation de la mise en cache, vous pouvez souvent faire beaucoup plus en une seule opération, sans nécessiter 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. Donc, si vous n'avez pas seulement besoin de GET/SET, mais de choses plus complexes, Redis peut vous aider beaucoup (pensez à la mise en cache de la chronologie).

Sans cas d'utilisation, il est difficile de choisir le moment, mais je pense que pour beaucoup de choses, Redis a du sens puisque même lorsque vous ne voulez pas l'utiliser comme base de données, étant beaucoup plus capable, vous pouvez résoudre plus de problèmes, pas seulement la mise en cache, mais aussi la messagerie, le classement, etc.

PS bien sûr, je pourrais être biaisé puisque je suis le développeur principal du projet Redis.