Maison base de données Redis Où Redis est-il généralement utilisé ?

Où Redis est-il généralement utilisé ?

Jun 05, 2019 pm 05:36 PM
redis

Résumé des scénarios d'application Redis. Nous utilisons généralement Redis dans de nombreux endroits. Voici un résumé des scénarios d'application que nous comprenons :

Où Redis est-il généralement utilisé ?

1. .Cache des données du hotspot

En raison de la vitesse d'accès élevée et des types de données riches pris en charge par redis, redis est très approprié pour stocker les données du hotspot. De plus, en combinaison avec l'expiration, nous pouvons définir le délai d'expiration. puis procédez à l'opération de mise à jour du cache, cette fonction est la plus courante et est utilisée dans presque tous nos projets.

2. Application d'une entreprise à durée limitée (Apprentissage recommandé : Tutoriel vidéo Redis)

Vous pouvez utiliser la commande expire pour définir la survie temps d'une clé dans redis, redis la supprimera une fois le temps écoulé. Cette fonctionnalité peut être utilisée dans des scénarios commerciaux tels que des informations promotionnelles à durée limitée et des codes de vérification de téléphone mobile.

3. Problèmes liés aux compteurs

Redis peut être utilisé pour les activités de vente flash à haute concurrence et la génération de numéros de séquence distribués car la commande incrby peut réaliser un incrément atomique. Des services spécifiques se traduisent également par par exemple par la limitation du nombre de SMS envoyés par un numéro de téléphone mobile, la limitation du nombre de requêtes par minute pour une interface, la limitation du nombre d'appels par jour pour une interface, etc.

4. Problèmes liés aux classements

Les bases de données relationnelles sont généralement lentes à interroger les classements, vous pouvez donc utiliser SortedSet de redis pour trier les données chaudes.

Dans l'événement Thé au lait, nous devons afficher la liste de classement des likes de chaque département, j'ai donc créé un SortedSet pour chaque département, puis j'ai utilisé l'openid de l'utilisateur comme nom d'utilisateur ci-dessus, ainsi que le nombre de likes de l'utilisateur. Comme pour le score ci-dessus, un hachage est effectué pour chaque utilisateur. Grâce à zrangebyscore, le classement peut être obtenu en fonction du nombre de likes, puis les informations de hachage de l'utilisateur sont obtenues en fonction du nom d'utilisateur. C'était plutôt bien à cette époque.

5. Verrouillage distribué

Celui-ci utilise principalement la commande setnx de redis setnx : "set if not exist" signifie que s'il n'existe pas, le cache le fera. être défini avec succès et renvoyé 1, sinon il renvoie 0. Cette fonctionnalité est utilisée en arrière-plan de Yu You Ben Yuanfang. Parce que notre serveur est en cluster, la tâche planifiée peut s'exécuter sur les deux machines, donc dans la tâche planifiée, définissez d'abord un verrou. via setnx. Si le paramètre est réussi, il sera exécuté. S'il n'est pas défini avec succès, cela signifie que la tâche planifiée a été exécutée. Bien entendu, en fonction de l'activité spécifique, nous pouvons ajouter un délai d'expiration à ce verrou. Par exemple, si une tâche planifiée est exécutée toutes les 30 minutes, le délai d'expiration peut être fixé à un délai inférieur à 30 minutes. à la période de la tâche planifiée et à l'exécution de la tâche planifiée. Consommation de temps liée.

Bien sûr, nous pouvons appliquer cette fonctionnalité à d'autres scénarios nécessitant des verrous distribués. Combinée au délai d'expiration, il s'agit principalement d'éviter les blocages.

6. Opération de retard

J'ai fait des tests pertinents à ce sujet jusqu'à présent, mais cela n'a pas été appliqué à nos projets réels. Ci-dessous, je vais donner une application de. cette scène. Par exemple, une fois la commande passée, nous occupons l'inventaire. Au bout de 10 minutes, nous vérifions si l'utilisateur l'a effectivement acheté. S'il n'y a pas d'achat, le document sera invalide et l'inventaire sera en même temps restauré. . Étant donné que Redis fournit la fonction Keyspace Notifications depuis la version 2.8.0, les clients sont autorisés à s'abonner aux canaux Pub/Sub afin de recevoir des événements qui affectent l'ensemble de données Redis d'une manière ou d'une autre. Nous pouvons donc utiliser la solution suivante pour les besoins ci-dessus. Lorsque nous commandons la production, nous définissons une clé et la définissons pour qu'elle expire après 10 minutes. Nous implémentons un écouteur en arrière-plan pour surveiller l'efficacité de la clé. nous ferons un suivi. Logique ajoutée. Bien entendu, nous pouvons également utiliser le service de file d'attente différée des middlewares de messages tels que RabbitMQ et ActiveMQ pour répondre à cette exigence.

7. Pagination, recherche floue

La collection set de redis fournit une méthode zrangebylex, la syntaxe est la suivante :

Clé ZRANGEBYLEX min max [LIMIT offset count]

La requête de données de page peut être effectuée via ZRANGEBYLEX zset - + LIMIT 0 10, où - + signifie obtenir toutes les données

clé zrangebylex min max Cela peut renvoyer les données dans l'intervalle du dictionnaire, en utilisant cette fonctionnalité peut exécuter une fonction de requête floue. C'est également la seule fonctionnalité que j'ai trouvée dans Redis qui prend en charge les requêtes floues sur le contenu stocké.

Il y a quelques jours, j'ai utilisé cette fonctionnalité pour effectuer un test de simulation sur les données scolaires. Les données scolaires sont d'environ 600 000 et le temps de réponse est d'environ 700 ms, ce qui est légèrement plus rapide que la requête similaire de MySQL, mais parce que. cela peut éviter un grand nombre d'opérations d'E/S de base de données, donc globalement, il est plus propice à la garantie des performances du système qu'une requête mysql directe.

8. Stockage des relations mutuelles telles que les likes et les amis

Les fonctions externes fournies par Redis set sont similaires à celles de list. La particularité est que set peut éliminer automatiquement les doublons. Lorsque vous avez besoin de stocker une liste de données et que vous ne souhaitez pas que des données en double apparaissent, set est très utile. outil utile. Un bon choix, et set fournit une interface importante pour déterminer si un membre fait partie d'une collection définie, ce que la liste ne peut pas fournir. Ou encore, dans l'application Weibo, les personnes suivies par chaque utilisateur existent dans une collection, il est donc facile de mettre en œuvre la fonction permettant de trouver des amis communs à deux personnes.

Ceci est utilisé dans l'activité thé au lait, qui utilise set pour stocker la relation similaire entre les utilisateurs. De plus, la méthode sismember est utilisée pour déterminer si un like a été reçu avant d'aimer. le temps de réponse de cette interface a été contrôlé dans les 10 millisecondes, très efficace.

9. File d'attente

Étant donné que redis dispose de commandes telles que list push et list pop, il peut facilement effectuer des opérations de file d'attente.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment construire le mode Cluster Redis Comment construire le mode Cluster Redis Apr 10, 2025 pm 10:15 PM

Le mode Redis Cluster déploie les instances Redis sur plusieurs serveurs grâce à la rupture, à l'amélioration de l'évolutivité et de la disponibilité. Les étapes de construction sont les suivantes: Créez des instances de redis étranges avec différents ports; Créer 3 instances Sentinel, Moniteur Redis Instances et basculement; Configurer les fichiers de configuration Sentinel, ajouter des informations d'instance Redis de surveillance et des paramètres de basculement; Configurer les fichiers de configuration d'instance Redis, activer le mode de cluster et spécifier le chemin du fichier d'informations de cluster; Créer un fichier nœuds.conf, contenant des informations de chaque instance redis; Démarrez le cluster, exécutez la commande CREATE pour créer un cluster et spécifiez le nombre de répliques; Connectez-vous au cluster pour exécuter la commande d'informations de cluster pour vérifier l'état du cluster; faire

Comment implémenter le redis sous-jacent Comment implémenter le redis sous-jacent Apr 10, 2025 pm 07:21 PM

Redis utilise des tables de hachage pour stocker les données et prend en charge les structures de données telles que les chaînes, les listes, les tables de hachage, les collections et les collections ordonnées. Redis persiste les données via des instantanés (RDB) et ajoutez les mécanismes d'écriture uniquement (AOF). Redis utilise la réplication maître-esclave pour améliorer la disponibilité des données. Redis utilise une boucle d'événement unique pour gérer les connexions et les commandes pour assurer l'atomicité et la cohérence des données. Redis définit le temps d'expiration de la clé et utilise le mécanisme de suppression paresseux pour supprimer la clé d'expiration.

Comment afficher toutes les clés dans Redis Comment afficher toutes les clés dans Redis Apr 10, 2025 pm 07:15 PM

Pour afficher toutes les touches dans Redis, il existe trois façons: utilisez la commande Keys pour retourner toutes les clés qui correspondent au modèle spécifié; Utilisez la commande SCAN pour itérer les touches et renvoyez un ensemble de clés; Utilisez la commande info pour obtenir le nombre total de clés.

Que faire si redis-server ne peut être trouvé Que faire si redis-server ne peut être trouvé Apr 10, 2025 pm 06:54 PM

Étapes pour résoudre le problème que Redis-Server ne peut pas trouver: Vérifiez l'installation pour vous assurer que Redis est installé correctement; Définissez les variables d'environnement redis_host et redis_port; Démarrer le serveur Redis Redis-Server; Vérifiez si le serveur exécute Redis-Cli Ping.

Comment afficher le numéro de version de redis Comment afficher le numéro de version de redis Apr 10, 2025 pm 05:57 PM

Pour afficher le numéro de version redis, vous pouvez utiliser les trois méthodes suivantes: (1) Entrez la commande Info, (2) Démarrez le serveur avec l'option - Version et (3) afficher le fichier de configuration.

Comment utiliser redis zset Comment utiliser redis zset Apr 10, 2025 pm 07:27 PM

Les ensembles commandés par Redis (ZSETS) sont utilisés pour stocker des éléments commandés et trier par des scores associés. Les étapes à utiliser ZSET incluent: 1. Créer un ZSET; 2. Ajouter un membre; 3. Obtenez un score de membre; 4. Obtenez un classement; 5. Obtenez un membre dans la gamme de classement; 6. Supprimer un membre; 7. Obtenez le nombre d'éléments; 8. Obtenez le nombre de membres dans la plage de score.

Comment lire le code source de Redis Comment lire le code source de Redis Apr 10, 2025 pm 08:27 PM

La meilleure façon de comprendre le code source redis est d'aller étape par étape: familiarisez-vous avec les bases de Redis. Sélectionnez un module ou une fonction spécifique comme point de départ. Commencez par le point d'entrée du module ou de la fonction et affichez le code ligne par ligne. Affichez le code via la chaîne d'appel de fonction. Familiez les structures de données sous-jacentes utilisées par Redis. Identifiez l'algorithme utilisé par Redis.

Comment utiliser la commande redis Comment utiliser la commande redis Apr 10, 2025 pm 08:45 PM

L'utilisation de la directive Redis nécessite les étapes suivantes: Ouvrez le client Redis. Entrez la commande (Verbe Key Value). Fournit les paramètres requis (varie de l'instruction à l'instruction). Appuyez sur Entrée pour exécuter la commande. Redis renvoie une réponse indiquant le résultat de l'opération (généralement OK ou -err).

See all articles