Redis est entièrement open source et gratuit, est conforme au protocole BSD et constitue une base de données clé-valeur hautes performances. 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.
Alors pourquoi utiliser Redis ?
La raison est simple, rapide !
Ce problème doit être pris en compte dans les sites Web avec une grande concurrence et une charge élevée. Toutes les données de la base de données Redis sont stockées en mémoire. Étant donné que la vitesse de lecture et d'écriture de la mémoire est beaucoup plus rapide que celle du disque dur, Redis présente des avantages très évidents en termes de performances par rapport aux autres bases de données basées sur le stockage sur disque dur.
L'utilisation de Redis dans le projet est principalement envisagée sous deux angles : performance : concurrence. Bien sûr, Redis a également d'autres fonctions telles que les verrous distribués, mais s'il s'agit uniquement d'autres fonctions telles que les verrous distribués, il existe d'autres middlewares à la place, et il n'est pas nécessaire d'utiliser Redis. Par conséquent, cette question reçoit principalement une réponse sous deux angles : les performances et la concurrence.
Performances :
Lorsque nous rencontrons du SQL qui prend un temps particulièrement long à s'exécuter et que les résultats ne changent pas fréquemment, il est particulièrement adapté de mettre les résultats en cours d'exécution dans le cache, ainsi, les requêtes suivantes sont lues à partir du cache et les requêtes peuvent recevoir une réponse rapide.
Concurrence :
Dans le cas d'une concurrence importante, toutes les requêtes accèdent directement à la base de données, et la base de données aura des exceptions de connexion. À ce stade, vous devez utiliser Redis pour effectuer une opération de mise en mémoire tampon afin que la requête puisse d'abord accéder à Redis au lieu d'accéder directement à la base de données.
Avantages de redis :
1. Il fonctionne en mémoire et est rapide. L'officiel prétend prendre en charge les opérations de lecture simultanées de 11 watts et les opérations d'écriture simultanées de 8 watts. , ce qui peut être considéré comme assez puissant.
2. Bien que les données soient dans la mémoire, elles fournissent un support de persistance, c'est-à-dire que les données dans la mémoire peuvent être écrites de manière asynchrone sur le disque dur sans affecter la fourniture continue des services
3. Structures de données riches prises en charge (string (string), list (liste chaînée), set (set), zset (ensemble trié - ensemble ordonné)) et Hash (type de hachage, la chaîne cryptée par md5)Redis peut tout faire
mise en cache Il ne fait aucun doute qu'il s'agit du scénario d'utilisation le plus connu de Redis aujourd'hui, et il est très efficace pour améliorer les performances du serveur. 1. Liste de classement, si vous utilisez une base de données relationnelle traditionnelle, ce sera très gênant, mais utiliser la structure de données SortSet de Redis peut être très pratique 2. en utilisant l'opération d'auto-incrémentation atomique dans Redis, nous pouvons compter le nombre de likes d'utilisateurs, de visites d'utilisateurs, etc. Si MySQL est utilisé pour de telles opérations, des lectures et des écritures fréquentes exerceront une pression considérable sur le limiteur de vitesse, ce qui est plus typique. est de limiter la fréquence d'accès d'un utilisateur à une certaine API. Les API couramment utilisées incluent les achats de panique pour éviter la pression inutile des clics fous des utilisateurs 3. demander une intersection, une union, un ensemble de différences, etc. peut facilement gérer des fonctions telles que des amis communs et des passe-temps communs 4. File d'attente de messages simple, en plus du mode de publication/abonnement de Redis, nous pouvons également utiliser List pour. La mise en œuvre d'un mécanisme de file d'attente, tel que la notification d'arrivée, l'envoi d'e-mails et d'autres exigences, ne nécessite pas une grande fiabilité, mais entraînera beaucoup de pression sur la base de données. La liste peut être utilisée pour effectuer le découplage asynchrone 5. en prenant PHP comme exemple, la session par défaut est enregistrée dans le fichier du serveur, s'il s'agit d'un service de cluster, le même utilisateur peut atterrir sur différentes machines, ce qui obligera les utilisateurs à se connecter fréquemment après avoir utilisé Redis pour enregistrer la session, quoi qu'il en soit ; de l'utilisateur Les informations de session correspondantes peuvent être obtenues sur cette machine.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!