Toutes les données Redis sont stockées en mémoire, la surveillance et la gestion de la mémoire sont donc très importantes pour Redis. Parlons de la mémoire Redis sous trois aspects : la surveillance, la gestion et l'optimisation de la mémoire.
Surveillance de la mémoire
redis nous fournit la commande info memory pour afficher l'utilisation de la mémoire. Cette commande affiche beaucoup de données, nous n'examinons ici que certaines des plus importantes.
used_memory:1146648 (quantité de mémoire allouée par l'allocateur Redis)
used_memory_human:1,09M (affiché dans un format lisible)
used_memory_rss:4358144 (Mémoire totale occupée par redis)
used_memory_rss_human:4.16M (Affichage lisible de la mémoire totale occupée par redis)
used_memory_peak:1229448 (userd_memory_peak Peak)
used_memory_peak_human:1.17M
used_memory_overhead:857036 (tampon, mémoire occupée par arriéré, etc.)
used_memory_startup:791384 (mémoire consommée par le démarrage de Redis)
used_memory_dataset:289612 (mémoire occupée par les données Redis)
used_memory_lua:37888 (mémoire consommée par le script lua)
used_memory_lua_human:37.00K (affichage lisible)
mem_fragmentation_ratio : 4,02 (taux de fragmentation de la mémoire, used_memory_rss / used_memory)
Lorsque mem_fragmentation_ratio est supérieur à 1, cela indique qu'il y a une fragmentation de la mémoire. Plus la valeur est faible, plus elle est grave. le taux de fragmentation. Si l'application le permet, redis peut être redémarré pour réduire le taux de fragmentation. Lorsqu'il est inférieur à 0, il faut être très prudent, cela signifie que la mémoire n'est pas suffisante et qu'une partie du swap est utilisée.
Gestion de la mémoire
Il est généralement recommandé de définir une limite supérieure de mémoire pour Redis. Il existe deux façons de modifier maxmory
<.>127.0.0.1:6379> config set maxmemory 1G OK 127.0.0.1:6379> config rewrite OK
Optimisation de la mémoireLa stratégie de recyclage Redis mentionnée ci-dessus, c'est une stratégie de suppression passive, nous pouvons supprimer activement ce Clés qui n'ont pas été consultées depuis longtemps. Vous pouvez utiliser l'analyse pour parcourir les clés, puis utiliser l'objet ideltime pour afficher le temps d'inactivité des clés et supprimer les clés qui n'ont pas été consultées depuis longtemps.
De plus, les objets clé-valeur peuvent également être réduits pour réduire l'utilisation de la mémoire.
127.0.0.1:6379> scan 0 1) "272" 2) 1) "story:course:3915" 2) "story:course:1681" 3) "story:course:4982" ……
Par exemple, la clé ci-dessus peut être modifiée en : sy:cos:id pour réduire la longueur de la clé. Pour les valeurs , des techniques de compression peuvent être utilisées pour réduire la longueur de la valeur. (La compression augmentera la pression sur le CPU et pourra être appliquée de manière appropriée en fonction des applications spécifiques)
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!