Maison  >  Article  >  base de données  >  Lequel est le meilleur, Memcached ou Redis ?

Lequel est le meilleur, Memcached ou Redis ?

(*-*)浩
(*-*)浩original
2019-11-30 10:04:582966parcourir

En parlant de frameworks de mise en cache, les deux frameworks de mise en cache les plus couramment utilisés sont Memcached et Redis, mais il existe en fait des différences entre eux.

Lequel est le meilleur, Memcached ou Redis ?

La naissance de Memcached

En mai 2003, Brad Fitzpatrick a publié la première version de Memcached, qui était principalement née pour résoudre le problème de la mise en cache de l'accès au site Web LiveJournal, cette version de Memcached est écrite en langage Perl. (Apprentissage recommandé : Tutoriel vidéo Redis)

Après cela, Anatoly Vorobey a réécrit Memcached en C. Memcached est désormais largement utilisé sur des sites Web tels que YouTube, Reddit et Facebook.

En parlant de la naissance de Memcached, elle était principalement due au goulot d'étranglement des performances de stockage des bases de données relationnelles. Car au 21e siècle, avec la popularisation des ordinateurs personnels, le nombre d'internautes dans le monde a fortement augmenté, et le nombre de visites de sites Web a également augmenté.

Étant donné que les bases de données relationnelles doivent conserver les données, il y aura un certain processus d'écriture des E/S sur le disque dur, il y aura donc un goulot d'étranglement dans l'écriture des données. Afin de résoudre le problème de la lenteur des E/S du disque dur, Memcached stocke toutes les données en mémoire, permettant ainsi une écriture et une lecture rapides des données.

C'est aussi parce que Memcached stocke les données en mémoire et n'implémente pas la persistance. Par conséquent, lorsque certaines situations inattendues se produisent, telles que des pannes de courant et des redémarrages, des temps d'arrêt de la machine, etc., toutes les données stockées dans Memcached seront perdues. . Nous seulement Il peut être lu à nouveau à partir de la base de données, puis chargé dans Memcached.

De plus, Memcached ne prend en charge qu'un seul stockage clé-valeur, de sorte que le type de données qui y est stocké est unique et ne peut pas s'adapter à un développement commercial diversifié.

La naissance de Redis

C'est précisément à cause des problèmes de stockage ci-dessus que Redis est né en mai 2009. Les créateurs de Redis ont constaté de nombreux problèmes avec Memcached et ont donc créé le framework de mise en cache Redis.

Dans le framework de mise en cache Redis, il prend en charge jusqu'à 6 types de stockage de données et fournit plusieurs opérations de commandes atomiques. Et Redis prend également en charge la persistance des données dans les fichiers locaux, de sorte qu'en cas d'accident, il n'est pas nécessaire de relire les données de la base de données et le fichier local peut être directement lu et restauré.

Lequel est le meilleur ?

D'après l'historique de développement des deux frameworks de cache, nous pouvons savoir que Redis est une version améliorée de Memcached qui possède les fonctions de base. de Redis Tous sont disponibles.

Nous utilisons souvent Redis comme cadre de mise en cache préféré. Bien sûr, Memcached a également de meilleures performances que Redis. Par exemple, lors du stockage d'une petite quantité de données clé-valeur complètement statiques, Memcached est meilleur que Redis. Redis. Soyez plus rapide.

Mais tant que la quantité de données est légèrement plus grande ou que les données sont dynamiques, les performances de Memcached chuteront.

Ainsi, même si Memcached présente de légers avantages à certains égards, dans l'ensemble, Redis est toujours meilleur que Redis en tant que framework de mise en cache.

Pour plus d'articles techniques liés à Redis, veuillez visiter la colonne Tutoriel de démarrage de Redis pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn