Maison  >  Article  >  base de données  >  Qu’est-ce que Redis ? Quels sont les scénarios d’application ?

Qu’est-ce que Redis ? Quels sont les scénarios d’application ?

不言
不言original
2018-09-27 14:22:432529parcourir

Cet article vous explique qu'est-ce que Redis ? Quels sont les scénarios d’application ? Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

1. Introduction à Redis

Redis est une base de données open source à valeur clé et monothread qui prend en charge les données de type chaîne, liste, ensemble, zset et hachage.

Port par défaut : 6379

Nombre de bases de données par défaut : 16

2 Avantages :

La base de données 1.nosql n'a pas de corrélation, structure de données simple, et les tables d'expansion sont plus faciles

2.nosql a une vitesse de lecture rapide et un traitement rapide des données plus volumineuses

3. Scénarios applicables :

1 .Lecture et écriture de données hautement simultanées

2. Lecture et écriture de données massives

Données avec des exigences d'évolutivité élevées

4. Scénarios inconfortables :

1. Besoin de prise en charge des transactions (base de données non relationnelle)

2. Basé sur le stockage de requêtes structurées SQL, relations complexes

5 , Scénarios d'application

Les auteurs suivants sont l'auteur de Redis @antirez. Il décrit quelques scénarios d'application pour lesquels Redis est plus adapté les répertorie simplement ici pour que tout le monde puisse avoir un aperçu :

1. L'opération d'obtention des dernières données N

Par exemple, pour obtenir généralement les derniers articles de votre site Web, grâce à la méthode suivante, nous pouvons mettre les identifiants des 5000 derniers commentaires dans le Collection Redis List, et la partie excédentaire est obtenue à partir de la base de données

  • Utilisez la commande LPUSH last.commentseddfa97ffc1dc71769e3f42e462dfe8e >

    Une fois l'insertion terminée, utilisez la commande LTRIM last.comments 0 5000 pour toujours enregistrer uniquement les 5000 derniers identifiants
  • Ensuite, nous pouvons utiliser le suivant lorsque vous recevez des commentaires sur une certaine page de la logique client (pseudocode)
  • Si vous avez différentes dimensions de filtrage, telles que les N derniers éléments d'une certaine catégorie, alors vous peut créer une autre liste basée sur cette catégorie, seul Redis est très efficace lors du stockage des identifiants.
FUNCTION get_latest_comments(start,num_items):
    id_list = redis.lrange("latest.comments",start,start+num_items-1)
    IF id_list.length < num_items
        id_list = SQL_DB("SELECT ... ORDER BY time LIMIT ...")
    END
    RETURN id_list
END
2.

Application de classement, prenez les opérations TOP N

La différence entre cette exigence et l'exigence ci-dessus est que l'opération précédente utilise le temps comme poids, et celle-ci est basé sur une certaine La première condition est le poids, comme le tri par le nombre de likes. À ce stade, notre ensemble trié doit être utilisé. Définissez la valeur que vous souhaitez trier sur le score du set et définissez les données spécifiques sur la valeur correspondante, il vous suffit d'exécuter une commande ZADD à chaque fois.

3. Applications qui doivent définir avec précision l'heure d'expiration Par exemple, vous pouvez définir la valeur du score de l'ensemble trié mentionné ci-dessus sur l'horodatage de l'expiration. heure, alors vous pouvez simplement trier par heure d'expiration et effacer régulièrement les données expirées. Non seulement cela efface les données expirées dans Redis, mais vous pouvez également considérer complètement l'heure d'expiration dans Redis comme un index des données dans la base de données et l'utiliser. Redis pour savoir quelles données sont nécessaires à la suppression expirée, puis supprimez avec précision les enregistrements correspondants de la base de données.

4.

Application de compteur

Les commandes Redis sont atomiques et vous pouvez facilement utiliser les commandes INCR et DECR pour créer un système de compteur. 5. Opération Uniq pour obtenir les valeurs de déduplication de toutes les données dans un certain laps de temps

Il s'agit de la structure de données définie la plus appropriée avec Redis. Il vous suffit de continuer à lancer des données. dans l'ensemble signifie collection, il sera donc automatiquement dédupliqué.

6. Système en temps réel,

système anti-spam

Grâce à la fonction définie mentionnée ci-dessus, vous pouvez savoir si un utilisateur final a effectué une certaine opération, et vous pouvez le trouver Collection d'opérations et d'analyses, comparaison statistique, etc. Rien n'est impossible, seulement inimaginable. 7. Pub/Sub crée un système de messagerie en temps réel

Le système Pub/Sub de Redis peut créer un système de messagerie en temps réel, comme de nombreux exemples de systèmes de discussion en temps réel créés avec Pub/Sub.

8. Construisez un système de file d'attente

Vous pouvez créer un système de file d'attente en utilisant une liste, et vous pouvez même créer un système de file d'attente avec priorité en utilisant ensemble trié.

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