recherche
Maisonbase de donnéesRedisJournal des requêtes lentes d'exploitation et de maintenance Redis

Pour bien utiliser Redis, vous devez non seulement savoir comment utiliser l'API, mais aussi savoir comment empêcher Redis de se bloquer et vérifier et analyser le blocage. Aujourd'hui, parlons de la façon de découvrir le blocage de Redis : trouver les commandes bloquées via des requêtes lentes.

Comme Mysql, Redis a également des enregistrements de requêtes lents. Lorsque le temps d'exécution de la commande dépasse la valeur définie, la commande sera enregistrée dans la liste des requêtes lentes. Avec des requêtes lentes, nous pouvons améliorer nos programmes. Empêchez Redis de se bloquer.

Configuration

Il existe deux paramètres de configuration pour les requêtes lentes :

  • slowlog-log- plus lent que

  • slowlog-max-len

slowlog-log-slower-than est utilisé pour définir un seuil en microsecondes. la valeur est 10 000, soit 10 millisecondes.

  • Lorsque la valeur est inférieure à 0, aucune commande ne sera enregistrée

  • Lorsque la valeur est égale à 0, toutes les commandes; sera enregistré.

slowlog-max-len indique le nombre maximum d'enregistrements, la valeur par défaut est 128, par exemple, définissez-la sur 10, lorsque la 11ème requête lente est insérée, puis les données à la la tête de file d'attente sera hors de la file.

Ces deux configurations prennent également en charge la configuration dynamique. Lorsque le projet vient de démarrer et que le nombre de visites n'est pas très important, la valeur de slow-log-slower-than peut être définie plus grande. À mesure que le nombre de visites augmente, vous devrez peut-être modifier sa valeur pour une valeur plus petite. Mais nous ne voulons pas arrêter le service Redis, nous pouvons donc modifier dynamiquement la configuration.

127.0.0.1:6379> config set slowlog-log-slower-than 1000
OK  
# 在线修改配置
127.0.0.1:6379> config rewrite
OK
# 将修改的配置持久化到配置文件中

Suggestions de fonctionnement et de maintenance : lorsque le nombre de visites est important, nous recommandons généralement de régler slowlog-log-slower-than à 1 000 ou moins. Lorsque cette valeur est de 1 000, cela signifie que Redis peut prendre en charge jusqu'à 1 000 accès simultanés.

Vue des requêtes lentes

La vue des requêtes lentes de Redis est différente de celle de MySQL. Il existe des commandes spéciales pour la vue Redis.

Obtenir le journal des requêtes lentes

slowlog get [n], n représente le nombre d'entrées, la valeur par défaut est 10

127.0.0.1:6379> slowlog get
1) 1) (integer) 18004
   2) (integer) 1589424642
   3) (integer) 50
   4) 1) "slowlog"
      2) "get"
   5) "127.0.0.1:58364"
   6) ""
2) 1) (integer) 18003
   2) (integer) 1589423805
   3) (integer) 47
   4) 1) "slowlog"
      2) "get"
   5) "127.0.0.1:58364"
   6) ""
……
  • Le premier paramètre est le numéro d'identification du journal

  • Le deuxième paramètre est l'horodatage de l'occurrence

  • Le troisième paramètre est la commande Temps d'exécution (subtil)

  • Le dernier est la commande et les paramètres.

Obtenir la longueur de la requête lente

slowlog len

127.0.0.1:6379> slowlog len
(integer) 128

Effacer la liste des requêtes lentes

127.0.0.1:6379> slowlog reset
OK

Persistance du journal des requêtes lentes vers mysql

En raison de la longueur de redis est limité, donc lorsqu'il y a beaucoup de requêtes lentes, il y aura une perte. Nous pouvons régulièrement accéder à Redis pour supprimer la liste des enregistrements de requêtes lentes et la conserver dans MySQL pour éviter que cela ne se produise.

Le pseudo-code est le suivant :

while (true) {
    $slowlen = $redis->slowlog('len');
    $slowlogs = $redis->slowlog('get',$slowlen);
    $insSql  = "INSERT INTO 
        slowlog(exec_time,run_time,command) VALUES";
     
    if (is_array($slowlogs) && count($slowlogs)) {
     
        foreach ($slowlogs as $slowlog) {
            $execTime = $slowlog[2];
            $runTime  = $slowlog[1];
            $command  = implode(' ', $slowlog[3]);
     
            $insSql .= "('$execTime', '$runTime','$command'),";
        }
     
        $flag = mysqli_query($mysqli, substr($insSql, 0, -1));
     
        if ($flag) {
            $redis->slowlog('reset');
        }
    }
    
    unsleep(10000);
}

Le code ci-dessus peut réaliser la persistance de requêtes lentes dans MYSQL.

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
Redis: Beyond SQL - la perspective NoSQLRedis: Beyond SQL - la perspective NoSQLMay 08, 2025 am 12:25 AM

Redis va au-delà des bases de données SQL en raison de ses performances élevées et de sa flexibilité. 1) Redis atteint une vitesse de lecture et d'écriture extrêmement rapide grâce à un stockage de mémoire. 2) Il prend en charge une variété de structures de données, telles que les listes et les collections, adaptées au traitement des données complexes. 3) Le modèle unique simplifie le développement, mais une concurrence élevée peut devenir un goulot d'étranglement.

Redis: une comparaison avec les serveurs de base de données traditionnelsRedis: une comparaison avec les serveurs de base de données traditionnelsMay 07, 2025 am 12:09 AM

Redis est supérieur aux bases de données traditionnelles dans des scénarios élevés de concurrence et de faible latence, mais ne convient pas aux requêtes complexes et au traitement des transactions. 1.redis utilise le stockage de mémoire, la lecture rapide et la vitesse d'écriture, adapté aux exigences élevées de la concurrence et de la latence faible. 2. Les bases de données traditionnelles sont basées sur le disque, prennent en charge les requêtes complexes et le traitement des transactions, et ont une cohérence et une persistance des données solides. 3. Redis convient comme complément ou substitut aux bases de données traditionnelles, mais elle doit être sélectionnée en fonction des besoins commerciaux spécifiques.

Redis: Introduction à un puissant magasin de données en mémoireRedis: Introduction à un puissant magasin de données en mémoireMay 06, 2025 am 12:08 AM

Redisisahigh-performancein-memorydatastructurestorexcelsinspeeedandversatity.1) itsportsvariousDatastructuresLikestrings, lists, andsets.2) redisisanin-memorydatabasewithpersistenceOptions, sassurantpeformanceanddatasafet.3)

Redis est-il principalement une base de données?Redis est-il principalement une base de données?May 05, 2025 am 12:07 AM

Redis est principalement une base de données, mais c'est plus qu'une simple base de données. 1. En tant que base de données, Redis prend en charge la persistance et convient aux besoins de haute performance. 2. En cache, Redis améliore la vitesse de réponse de l'application. 3. En tant que courtier de messages, Redis prend en charge le mode de publication de publication, adapté à la communication en temps réel.

Redis: base de données, serveur ou autre chose?Redis: base de données, serveur ou autre chose?May 04, 2025 am 12:08 AM

RedisisamultifacetedToolthatsAvaSAdatabase, Server et plus.

Redis: dévoiler son objectif et ses applications clésRedis: dévoiler son objectif et ses applications clésMay 03, 2025 am 12:11 AM

Redisisanopen-source, in-memorydatastructurestoreUsedAdatabase, cache etmessagebroker, excellinginspeedandversatity.idswidely utiliséforcaching, réel-timeanalytics, session de ses fonction

Redis: un guide des magasins de données à valeur cléRedis: un guide des magasins de données à valeur cléMay 02, 2025 am 12:10 AM

Redis est un stockage de structure de données de mémoire open source utilisé comme base de données, courtier de cache et de messages, adapté aux scénarios où une réponse rapide et une concurrence élevée sont nécessaires. 1.Redis utilise la mémoire pour stocker les données et fournit une vitesse de lecture et d'écriture en microseconde. 2. Il prend en charge une variété de structures de données, telles que des chaînes, des listes, des collections, etc. 3. Redis réalise la persistance des données via les mécanismes RDB et AOF. 4. Utilisez un modèle unique et une technologie de multiplexage pour gérer efficacement les demandes. 5. Les stratégies d'optimisation des performances incluent l'algorithme LRU et le mode de cluster.

Redis: mise en cache, gestion de session, et plus encoreRedis: mise en cache, gestion de session, et plus encoreMay 01, 2025 am 12:03 AM

Les fonctions de Redis incluent principalement le cache, la gestion de session et d'autres fonctions: 1) les fonctions de cache stocke les données via la mémoire pour améliorer la vitesse de lecture, et convient aux scénarios d'accès haute fréquence tels que les sites Web de commerce électronique; 2) La fonction de gestion de session partage les données de session dans un système distribué et le nettoie automatiquement via un mécanisme de temps d'expiration; 3) D'autres fonctions telles que le mode de publication-subscription, les verrous et les comptoirs distribués, adaptés à la poussée de messages en temps réel et aux systèmes multi-thread et autres scénarios.

See all articles

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

Video Face Swap

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

<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP