Maison  >  Article  >  base de données  >  Qu'est-ce que le mode de requête lente et d'abonnement dans Redis

Qu'est-ce que le mode de requête lente et d'abonnement dans Redis

青灯夜游
青灯夜游avant
2021-11-15 10:50:571449parcourir

Cet article vous présentera le mode de requête lente et d'abonnement dans Redis. J'espère qu'il sera utile à tout le monde !

Qu'est-ce que le mode de requête lente et d'abonnement dans Redis

Requête lente

Le journal des requêtes lentes est le temps d'exécution de chaque commande lorsque le système exécute la commande. Lorsqu'il dépasse le seuil, la commande sera enregistrée. [Recommandations associées : Tutoriel vidéo Redis]

Processus d'exécution des commandes Redis

Quest-ce que le mode de requête lente et dabonnement dans Redis

  • Envoyer la commande

  • Mise en file d'attente des commandes

  • Exécution de la commande

  • Retour des résultats

Parmi L'exécution de la commande est le temps nécessaire aux statistiques de requête lentes

Requête lente deux paramètres de configuration

  • slowlog-log-slower-than : seuil prédéfini, l'unité est en millisecondes, si une commande "très lente" est exécutée, si le le temps d'exécution dépasse le seuil, il sera enregistré

  • slowlog-max-len : définissez le nombre maximum de journaux de requêtes lentes à stocker

Mode de publication et d'abonnement

Redis fournit une fonction de publication et d'abonnement, qui peut être utilisé pour les messages. Le mécanisme de transmission, de publication et d'abonnement Redis se compose de trois parties : éditeur, abonné et canal.

Quest-ce que le mode de requête lente et dabonnement dans Redis

Fonction de publication et d'abonnement

  • Envoyer des messages en utilisant la commande de publication

Quest-ce que le mode de requête lente et dabonnement dans Redis

  • Abonnez-vous à une chaîne à l'aide de la commande d'abonnement matching : abonnez-vous à plusieurs chaînes sur en même temps, la commande est PSUBSCRIBE

Quest-ce que le mode de requête lente et dabonnement dans Redis

  • Redis traitement du délai d'expiration

Quest-ce que le mode de requête lente et dabonnement dans Redis

traitement actif

traitement de synchronisation, créez une minuterie lors du réglage du délai d'expiration et effectuez l'opération de suppression immédiatement lorsque le Le délai d'expiration est écoulé. Cette opération est immédiate. Quel que soit le nombre de clés expirées au cours de cette période ou l'état d'exécution du serveur, elles seront supprimées, ce qui n'est pas très convivial pour le processeur.
  • Suppression régulière. La suppression régulière consiste à définir un intervalle de temps. Chaque période de temps détectera s'il y a des clés expirées, supprimez-les

  • Traitement passif

Lorsque la clé expirée est à nouveau accessible, Il sera jugé si la clé a expiré. Si elle a expiré, elle sera supprimée et NIL sera renvoyé. Cette méthode de traitement est conviviale pour le CPU et n'occupera pas le CPU pour d'autres clés expirées, mais elle n'est pas conviviale pour le processeur. la mémoire. Une clé a expiré, mais elle ne sera pas supprimée avant d'être utilisée, et elle occupe toujours de l'espace mémoire. S'il y a un grand nombre de clés expirées qui n'ont pas été utilisées à nouveau, beaucoup d'espace mémoire sera utilisé. être gaspillé.

    3. Traitement RDB et AOF des clés expirées
  • Si vous exécutez la commande save ou bgsave pour créer un RDB, le programme vérifiera les clés dans la base de données et les clés expirées ne seront pas enregistrées dans le fichier RDB nouvellement créé. . milieu.

  • Lorsque la clé expirée est supprimée paresseusement ou supprimée périodiquement, le programme ajoutera une commande DEL au fichier AOF pour enregistrer explicitement que la clé a été supprimée.

Pendant le processus de réécriture AOF, le programme vérifiera les clés dans la base de données et les clés expirées ne seront pas enregistrées dans le fichier AOF réécrit.

Recyclage de la mémoire

noeviction : la politique par défaut ne supprimera aucune donnée, rejettera toutes les opérations d'écriture et renverra les messages d'erreur du client. Pour le moment, Redis ne répond qu'aux opérations de lecture.

volatitle-rlu : Supprimez les clés avec des attributs de délai d'attente définis selon l'algorithme LRU jusqu'à ce que suffisamment d'espace soit libéré. S’il n’y a aucun objet clé supprimable, revenez à la stratégie de non-expulsion.

allkeys-lru : supprimez les clés selon l'algorithme LRU, que les données aient ou non un attribut de délai d'attente, jusqu'à ce que suffisamment d'espace soit libéré. allkeys-random : supprimez aléatoirement toutes les clés jusqu'à ce que suffisamment d'espace soit libéré.

volatitle-random : supprimez aléatoirement les clés expirées jusqu'à ce que suffisamment d'espace soit libéré.

volatitle-ttl : supprimez les données récemment expirées en fonction de l'attribut ttl de l'objet clé-valeur. Sinon, revenez à la stratégie de non-éviction

Pour plus de connaissances sur la programmation, veuillez visiter :

Introduction à la programmation

 ! !

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer