Maison  >  Article  >  base de données  >  Que peut faire Redis à part la mise en cache ?

Que peut faire Redis à part la mise en cache ?

藏色散人
藏色散人original
2019-06-10 11:32:182555parcourir

Redis doit être considéré comme l'une des bases de données NoSQL les plus populaires à l'heure actuelle. Redis est généralement utilisé comme composant de mise en cache pour mettre en cache les données. Cependant, en plus de mettre les données en cache, Redis peut faire beaucoup de choses.

Que peut faire Redis à part la mise en cache ?

Quelques exemples sont répertoriés ci-dessous pour votre référence. Recommandé : "Tutoriel vidéo Redis"

1. Dernière liste

Par exemple, la dernière liste d'actualités sur la page de liste d'actualités, si le le nombre total est grand Dans ce cas, essayez de ne pas utiliser select a from A limit 10, essayez la commande LPUSH de redis pour créer une liste et insérez-les simplement un par un dans l'ordre. Mais que se passe-t-il si la mémoire est effacée ? C'est également simple. Si vous ne pouvez pas interroger la clé de stockage, utilisez simplement MySQL pour interroger et initialiser une liste dans Redis.

2. Application de classement

Le principal type de données Redis utilisé pour implémenter cette fonction est l'ensemble ordonné Redis zset. zset est une extension du type set. Il a un attribut de séquence de plus que le type d'origine. Cet attribut ajustera automatiquement la valeur de séquence à chaque fois que des données sont insérées pour garantir que les valeurs de valeur sont continuellement disposées dans un certain ordre.

Nous supposons qu'il s'agit d'une liste de classement des valeurs d'expérience de jeu. L'idée principale de mise en œuvre est la suivante :

1 Lorsqu'un nouveau joueur participe au jeu, ajoutez-le au zset dans redis A record. (le contenu de l'enregistrement dépend des exigences spécifiques) a un score de 0

2 Lorsque la valeur d'expérience du joueur change, modifiez la valeur du score du joueur

Utilisez la méthode ZREVRANGE de. redis pour obtenir le classement

3. Application de compteur

Les commandes Redis sont toutes atomiques Vous pouvez facilement utiliser les commandes INCR et DECR pour effectuer des opérations atomiques afin de créer un système de compteurs. 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.

Par exemple, dans une application Web, si vous souhaitez connaître le nombre de clics d'un utilisateur chaque jour pendant un an, il vous suffit d'utiliser l'ID utilisateur et les informations de date associées comme clés, et d'exécuter à chaque fois l'utilisateur clique sur la page. Une seule opération d'auto-incrémentation suffit.

4. Déduplication des données

L'ensemble Redis peut automatiquement dédupliquer les données lorsque vous devez stocker une liste de données et que vous ne souhaitez pas que des données en double apparaissent, l'ensemble est A. bon choix, et set fournit une interface importante pour déterminer si un membre appartient à une collection définie.

Plan d'implémentation :

L'implémentation interne de set est une HashMap dont la valeur est toujours nulle. En fait, elle est rapidement triée par calcul de hachage. C'est aussi ce que set peut fournir pour déterminer si. un membre est Reason dans l'ensemble.

5. Système anti-spam en temps réel

Les systèmes anti-spam sont généralement basés sur des mots-clés et utilisent Redis pour stocker les mots associés, ce qui peut profiter de hautes performances de Redis. Le système de surveillance fournit des fonctions de surveillance en temps réel stables et précises. Les cas typiques incluent les systèmes de messagerie, les systèmes de commentaires, etc.

6. Un système de messagerie en temps réel qui peut publier et s'abonner

Le système Pub/Sub dans Redis peut créer un système de messagerie en temps réel. beaucoup sont créés à l'aide de l'application de chat Pub/Sub Live.

Idée de conception :

Le serveur envoie un message (y compris le titre, le contenu), le titre est stocké dans Redis selon certaines règles, et le titre (avec le minimum d'informations) est poussé vers le client, et le client clique Lors de la lecture du titre, obtenez le contenu correspondant à lire

S'il n'est pas lu, vous pouvez demander combien d'éléments non lus, redis peut rapidement compter

Nettoyer. le cache selon une certaine période de temps

Implémentation technique :

Nécessite une base de données redis, un websocket client, un websocket côté serveur

Application Queue

La file d'attente est largement utilisée dans les programmes actuels, tels que le transfert de journaux, le traitement des tâches, etc. Dans le passé, http sqs était généralement utilisé pour implémenter des files d'attente. En fait, les files d'attente peuvent également être implémentées en utilisant le type de liste de Redis.

Pour plus d'articles techniques sur Redis, veuillez visiter la colonne Tutoriel d'utilisation de 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!

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