Maison >base de données >Redis >Où Redis est-il utilisé ?

Où Redis est-il utilisé ?

藏色散人
藏色散人original
2019-06-19 11:10:212493parcourir

Où Redis est-il utilisé ?

Où Redis est-il utilisé ?

Scénario d'application Redis

● Génération de jetons

● Code de vérification par SMS

● Liste de classement

● File d'attente de messages

L'implémentation de la structure de données de list dans Redis est une liste doublement liée, elle peut donc être très facilement appliquée à la file d'attente de messages (modèle producteur/consommateur). Le producteur du message n'a qu'à mettre le message dans la liste via lpush, et le consommateur peut retirer le message via rpop, et l'ordre du message peut être garanti. Si vous devez implémenter une file d'attente de messages avec priorité, vous pouvez également choisir un ensemble trié. La fonctionnalité pub/sub peut également être utilisée comme modèle éditeur/abonné pour les messages. Quelle que soit la méthode utilisée, Redis ayant une fonction de persistance, vous n'avez pas à vous soucier de la perte de messages due à une panne de serveur. (Recommandé : "Tutoriel vidéo Redis")

Si vous avez des exigences élevées en matière de cohérence des données, vous devez utiliser des systèmes professionnels tels que RocketMQ.

Puisque Redis ajoute des données à la file d'attente en renvoyant le numéro de l'élément ajouté dans la file d'attente, il peut être utilisé pour déterminer le nombre d'utilisateurs accédant à cette entreprise

La file d'attente peut non seulement changer requêtes simultanées en série, et peut également être utilisé comme file d'attente ou pile

verrou distribué

pour vérifier les requêtes répétées du front-end, qui peuvent être filtrées redis

Le système Flash kill, basé sur la fonctionnalité monothread de redis, empêche "l'explosion" de la base de données

Génération d'ID incrémentielle globale, similaire au "spike"

Compteur

Applications telles que le comptage des clics. Grâce au thread unique, les problèmes de concurrence peuvent être évités, garantis sans erreur et des performances de 100 % au niveau de la milliseconde !

La fonction de comptage devrait être l'un des scénarios d'utilisation les plus appropriés pour Redis, car ses caractéristiques de lecture et d'écriture à haute fréquence peuvent utiliser pleinement l'efficacité de Redis en tant que base de données en mémoire. Dans la structure de données Redis, la chaîne, le hachage et l'ensemble trié fournissent tous la méthode incr pour les opérations d'incrémentation atomique.

Exemple :

Si l'application doit afficher le nombre d'utilisateurs enregistrés chaque jour, elle peut utiliser une chaîne comme compteur, définir une clé nommée REGISTERED_COUNT_TODAY et initialiser il Définissez un délai d'expiration à 0 heures du matin. Chaque fois qu'un utilisateur s'enregistre avec succès, utilisez la commande incr pour augmenter la clé de 1. Dans le même temps, après 0 heures du matin chaque jour, le compteur sera remis à zéro en raison de l'expiration de la clé.

Chaque Weibo a quatre attributs : nombre de likes, nombre de commentaires, nombre de retweets et nombre de vues. Il serait préférable d'utiliser le hachage pour compter. Réglez la clé du compteur sur weibo:weibo_id, hachage. Les champs sont like_number, comment_number, forward_number et view_number. Après l'opération correspondante, le champ dans le hachage est incrémenté via hincrby.

Si l'application dispose d'une fonction de classement de publication, sélectionnez l'ensemble trié et définissez la clé de l'ensemble sur POST_RANK. Lorsqu'un utilisateur publie, utilisez zincrby pour augmenter le score de l'identifiant utilisateur de 1. L'ensemble trié sera retrié et la position de classement de l'utilisateur sera mise à jour en temps réel.

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