Maison  >  Article  >  base de données  >  Pourquoi Redis est plus rapide que MySQL

Pourquoi Redis est plus rapide que MySQL

(*-*)浩
(*-*)浩original
2019-11-22 09:37:162306parcourir

Pourquoi Redis est plus rapide que MySQL

Le stockage des données MySQL est stocké dans des tables. Lorsque vous recherchez des données, vous devez d'abord effectuer une analyse globale de la table ou une recherche basée sur l'index. . Si la recherche sur le disque est La recherche par points peut être plus rapide, mais la recherche séquentielle est plus lente ; Redis ne doit pas être aussi gênant. Elle est stockée dans la mémoire et sera récupérée directement en fonction de l'emplacement des données dans la mémoire. (Apprentissage recommandé : Tutoriel vidéo Redis)

Redis est basé sur le stockage en mémoire, MySQL est basé sur le stockage sur disque

Redis stocke les données au format k-v. La complexité temporelle est O(1), ordre constant, tandis que l'implémentation sous-jacente du moteur MySQL est B+Tree, et la complexité temporelle est O(logn), ordre logarithmique. Redis sera légèrement plus rapide que MySQL.

Redis est une E/S multiplexée à thread unique qui évite la surcharge de commutation de thread, tandis que les E/S multiplexées évitent la surcharge d'attente d'E/S, améliorant ainsi l'efficacité d'utilisation du processeur sous les processeurs multicœurs. Les données peuvent être partitionnées et. puis chaque processeur traite des données différentes.

Tout d'abord, nous savons que MySQL est un stockage persistant, stocké sur le disque, et la récupération impliquera une certaine quantité d'E/S afin de le résoudre. Ce goulot d'étranglement a fait apparaître du Cache, comme memcached (appelé mc) qui est le plus utilisé de nos jours.

Tout d'abord, l'utilisateur accède à mc. S'il manque, accédez à mysql Ensuite, comme la mémoire et le disque dur, les données sont copiées dans la partie mc.

Redis et mc sont des caches et tous deux fonctionnent en mémoire, ce qui améliore considérablement la vitesse d'accès au Web avec un volume de données élevé. Cependant, mc ne fournit que des structures de données simples.

Par exemple, le stockage de chaînes ; redis fournit un grand nombre de structures de données, telles que des chaînes, des listes, des ensembles de hachages, des ensembles triés, etc., ce qui le rend beaucoup plus pratique pour les utilisateurs. il encapsule une couche de fonctions et d'implémentations pratiques. Pour obtenir le même effet, utilisez bien sûr redis et abandonnez lentement mc.

La relation entre la mémoire et le disque dur. Le disque dur place les données principales pour un stockage persistant, tandis que la mémoire est la partie des données en cours d'exécution. Le processeur accède à la mémoire au lieu du disque, ce qui améliore considérablement. la rapidité de fonctionnement. Bien entendu, cela repose sur le principe de l'accès localisé au programme.

La déduction est que redis+mysql est un mappage de la relation mémoire + disque. Mysql est placé sur le disque et redis est placé dans la mémoire. Dans ce cas, l'application Web accède uniquement à redis à chaque fois. Si aucune donnée n'est trouvée, il accédera à Mysql.

Cependant, l'utilisation de redis+mysql et de mémoire+disque est la meilleure différente.

Pour plus d'articles techniques liés à Redis, veuillez visiter la colonne Introduction au didacticiel d'utilisation de la base de données 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
Article précédent:Pourquoi Redis est nécessaireArticle suivant:Pourquoi Redis est nécessaire