Maison >base de données >Redis >Pourquoi php utilise-t-il Redis ?
1. Introduction à Redis
Redis est une base de données à mémoire non relationnelle qui est largement utilisée dans les bases de données Nosql en interne. -système de stockage de valeurs. Il prend en charge relativement plus de types de valeurs stockées, notamment string (string), list (liste chaînée), set (set), zset (ensemble trié – ensemble ordonné) et hash (type de hachage, similaire à map en Java). Redis est une base de données NoSQL qui s'exécute en mémoire et prend en charge la persistance. Il s'agit de l'une des bases de données NoSQL les plus populaires et est également connue sous le nom de serveur de structure de données.
2. Il existe de grandes opportunités à l'ère d'Internet. Pourquoi devrions-nous utiliser Nosql ?
1) Lorsque la quantité totale de données ne peut pas tenir dans une seule machine.
2) Lorsque l'index des données ne peut pas être stocké dans la mémoire d'une machine.
3) Lorsque le nombre de visites (lecture et écriture mixtes) ne peut être accueilli en une seule fois.
Modèle de l'ère d'une seule machine
Si vous stockez des milliers de données à chaque fois, cela sera très utile. En conséquence, les performances de MySQL sont très mauvaises, la vitesse de stockage et de lecture est très lente, puis elle évolue vers la méthode cache + mysql + division verticale.
Cache comme cache intermédiaire
Enregistrez d'abord toutes les données dans le cache, puis enregistrez-les Entrée mysql pour réduire la pression sur la base de données et améliorer l'efficacité. Mais lorsque les données atteignent à nouveau une autre ampleur, la méthode ci-dessus ne peut pas répondre à la demande. À mesure que la pression d'écriture de la base de données augmente, Memcached ne peut que soulager la pression de lecture de la base de données.
La concentration de la lecture et de l'écriture sur une seule base de données surcharge la base de données. La plupart des sites Web ont commencé à utiliser la technologie de réplication maître-esclave pour séparer la lecture et l'écriture afin d'améliorer les performances de lecture et d'écriture et l'évolutivité des bases de données de lecture. . Le mode maître-esclave de MySQL est actuellement devenu la norme pour les sites Web.
Mode de séparation maître-esclave
Basé sur le cache Redis, la réplication maître-esclave MySQL et la séparation lecture-écriture, à l'heure actuelle Le La pression d'écriture de la base de données principale MySQL a commencé à apparaître des goulots d'étranglement et la quantité de données a continué d'augmenter. Étant donné que MyISAM utilise des verrous de table, de graves problèmes de verrouillage se produiront en cas de concurrence élevée. Un grand nombre d'applications MySQL à haute concurrence ont commencé à utiliser InnoDB. moteur au lieu de MyISAM.
Mode sous-table et sous-base de données
Mettez les petits changements et ceux liés à l'entreprise dans une seule base de données, et le ceux qui changent davantage ne le seront pas. Les données pertinentes sont placées dans une base de données.
3. Avantages de la base de données nosql
1) Facile à étendre
Ces types de stockage de données ne nécessitent pas de schéma fixe, l'expansion horizontale peut être effectuée sans opérations redondantes. Par rapport aux bases de données relationnelles, le nombre de tables et de champs peut être réduit. Il apporte également une évolutivité au niveau architectural
2) Un grand volume de données améliore les performances
3) Modèle de données diversifié et flexible
Dans nosql, non seulement les types de données String, hash, set, Zset et autres peuvent être stockés, mais également javaBean et une variété de types de données complexes peuvent être enregistrés.
4. Application de NoSql
1) À l'ère du big data, Taobao, WeChat et Weibo ont largement utilisé la base de données redis, convertissant certaines données fixes telles que car les écoles, les régions et autres informations fixes sont stockées dans des bases de données relationnelles. Ensuite, pour les données qui changent fréquemment, par exemple, Taobao affichera les recherches populaires dans le champ de recherche à chaque jour férié. Lorsque les vacances passeront, les mots-clés seront automatiquement supprimés. Afin de faciliter la gestion, ces données peuvent être enregistrées dans la base de données redis. définir l’heure d’expiration. L’heure sera automatiquement supprimée.
2) Afin de soulager la pression sur la base de données, Weibo enregistre d'abord le Weibo envoyé dans la base de données redis afin qu'il puisse être consulté immédiatement, puis synchronise les données en mémoire avec la base de données relationnelle.
Le contenu ci-dessus est à titre de référence uniquement !
Tutoriel vidéo recommandé : Tutoriel Redis
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!