Comment utiliser le journal des requêtes lentes Redis
Journal des requêtes lentes
Qu'est-ce que SLOW LOG ?
Slow log est un système de journalisation utilisé par Redis pour enregistrer les demandes de commandes dont le temps d'exécution des requêtes dépasse un temps donné. Le temps d'exécution d'une requête fait référence au temps passé à exécuter une commande de requête, à l'exclusion des opérations d'E/S telles que la réponse du client (parler) et l'envoi de réponses. De plus, le journal lent est stocké dans la mémoire et la vitesse de lecture et d'écriture est très rapide, vous pouvez donc l'utiliser en toute confiance et n'avez pas à craindre d'endommager la vitesse de Redis en activant le journal lent.

Configuration et affichage de SLOWLOG
La configuration du serveur propose deux options liées aux journaux de requêtes lents :
slowlog-log-slower-than : L'option spécifie le nombre de microsecondes que dépasse le temps d'exécution (1 seconde est égale à 1 000 000 microsecondes) Les demandes de commandes seront enregistrées dans le journal. Par exemple, si la valeur de cette option est 100, alors les commandes qui prennent plus de 100 microsecondes à s'exécuter seront enregistrées dans le journal des requêtes lentes ; si la valeur de cette option est 500, alors les commandes qui prennent plus de 500 microsecondes à s'exécuter ; sera enregistré dans le journal des requêtes lentes ;
L'option slowlog-max-len est utilisée pour déterminer le nombre maximum de journaux de requêtes lentes conservés par le serveur. Le serveur utilise la méthode premier entré, premier sorti pour enregistrer plusieurs journaux de requêtes lentes : lorsque le nombre de journaux de requêtes lentes stockés par le serveur est égal à la valeur de l'option slowlog-max-len, le serveur ajoutera d'abord le le journal des requêtes lentes le plus ancien avant d'ajouter un nouveau journal des requêtes lentes. Un journal des requêtes lentes est supprimé. Par exemple, si la valeur de slowlog-max-len du serveur est 100, et en supposant que le serveur a stocké 100 journaux de requêtes lentes, alors si le serveur a l'intention d'ajouter un nouveau journal, il doit d'abord supprimer le plus ancien actuellement enregistré. .journaux, puis ajoutez de nouveaux journaux.
Regardons un exemple de la fonction de journalisation des requêtes lentes. Tout d'abord, utilisez la commande CONFIG_SET pour définir la valeur de l'option slowlog-log-slower-than à 0 microseconde, afin que toute commande exécutée par le serveur Redis soit enregistrée. dans le journal des requêtes lentes. , puis définissez la valeur de l'option slowlog-max-len sur 5, afin que le serveur ne puisse enregistrer que jusqu'à 5 journaux de requêtes lentes :
redis> CONFIG SET slowlog-log-slower-than 0 OK redis> CONFIG SET slowlog-max-len 5 OK
Ensuite, nous utilisons le client pour envoyer plusieurs requêtes de commande. :
redis> SET msg "hello world"OK redis> SET number 10086 OK redis> SET database "Redis"OK
Utilisez ensuite la commande SLOWLOG GET pour afficher le journal des requêtes lentes enregistré par le serveur :
redis> SLOWLOG GET 1) 1) (integer) 4 #日志的唯一标识符(uid); 2) (integer) 1378781447 #命令执行时的UNIX时间戳; 3) (integer) 13 #命令执行的时长,以微秒计算; 4) 1) "SET" #命令以及命令参数; 2) "database" 3) "Redis"2) 1) (integer) 3 2) (integer) 1378781439 3) (integer) 10 4) 1) "SET" 2) "number" 3) "10086"3) 1) (integer) 2 2) (integer) 1378781436 3) (integer) 18 4) 1) "SET" 2) "msg" 3) "hello world"4) 1) (integer) 1 2) (integer) 1378781425 3) (integer) 11 4) 1) "CONFIG" 2) "SET" 3) "slowlog-max-len" 4) "5"5) 1) (integer) 0 2) (integer) 1378781415 3) (integer) 53 4) 1) "CONFIG" 2) "SET" 3) "slowlog-log-slower-than" 4) "0"
Si une autre commande SLOWLOG GET 1 est exécutée à ce moment, alors nous verrons que la dernière commande SLOWLOG GET exécutée a été enregistrée dans le journal des requêtes lentes et le numéro le plus ancien Le journal des requêtes lentes avec une valeur de 0 a été supprimé et le nombre de journaux de requêtes lentes sur le serveur est toujours de 5 :
redis> SLOWLOG GET 1 1) 1) (integer) 5 2) (integer) 1378781521 3) (integer) 61 4) 1) "SLOWLOG" 2) "GET"
L'ID unique du journal sera seulement réinitialisé lorsque le serveur Redis est redémarré, ce qui peut éviter un traitement répété du journal (par exemple, vous souhaiterez peut-être envoyer un e-mail pour vous avertir chaque fois qu'une nouvelle requête lente est découverte).
Utilisez la commande SLOWLOG LEN pour afficher le nombre actuel de journaux.
Veuillez noter la différence entre cette valeur et slower-max-len L'une est le nombre actuel de journaux et l'autre est le nombre maximum de journaux autorisés à être enregistrés.
redis> SLOWLOG LEN (integer) 5
Effacer le journal
Utilisez la commande SLOWLOG RESET pour effacer le journal lent.
redis> SLOWLOG RESET OK
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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 effacer les données Redis: utilisez la commande flushall pour effacer toutes les valeurs de clé. Utilisez la commande flushdb pour effacer la valeur clé de la base de données actuellement sélectionnée. Utilisez SELECT pour commuter les bases de données, puis utilisez FlushDB pour effacer plusieurs bases de données. Utilisez la commande del pour supprimer une clé spécifique. Utilisez l'outil Redis-CLI pour effacer les données.

Pour lire une file d'attente à partir de Redis, vous devez obtenir le nom de la file d'attente, lire les éléments à l'aide de la commande LPOP et traiter la file d'attente vide. Les étapes spécifiques sont les suivantes: Obtenez le nom de la file d'attente: Nommez-le avec le préfixe de "Fitre:" tel que "Fitre: My-Quyue". Utilisez la commande LPOP: éjectez l'élément de la tête de la file d'attente et renvoyez sa valeur, telle que la file d'attente LPOP: My-Queue. Traitement des files d'attente vides: si la file d'attente est vide, LPOP renvoie NIL et vous pouvez vérifier si la file d'attente existe avant de lire l'élément.

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).

L'utilisation des opérations Redis pour verrouiller nécessite l'obtention du verrouillage via la commande setnx, puis en utilisant la commande Expire pour définir le temps d'expiration. Les étapes spécifiques sont les suivantes: (1) Utilisez la commande setnx pour essayer de définir une paire de valeurs de clé; (2) Utilisez la commande Expire pour définir le temps d'expiration du verrou; (3) Utilisez la commande del pour supprimer le verrouillage lorsque le verrouillage n'est plus nécessaire.

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.

Utilisez l'outil de ligne de commande redis (Redis-CLI) pour gérer et utiliser Redis via les étapes suivantes: Connectez-vous au serveur, spécifiez l'adresse et le port. Envoyez des commandes au serveur à l'aide du nom et des paramètres de commande. Utilisez la commande d'aide pour afficher les informations d'aide pour une commande spécifique. Utilisez la commande QUIT pour quitter l'outil de ligne de commande.

Les causes de la perte de données redis incluent les défaillances de mémoire, les pannes de courant, les erreurs humaines et les défaillances matérielles. Les solutions sont: 1. Stockez les données sur le disque avec RDB ou AOF Persistance; 2. Copiez sur plusieurs serveurs pour une haute disponibilité; 3. Ha avec Redis Sentinel ou Redis Cluster; 4. Créez des instantanés pour sauvegarder les données; 5. Mettre en œuvre les meilleures pratiques telles que la persistance, la réplication, les instantanés, la surveillance et les mesures de sécurité.
