Redis ne semble pas fournir une méthode fiable pour obtenir l'occupation réelle de chaque base de données. Cela est principalement dû au fait que Redis lui-même n'a pas le concept de fichiers de base de données et que toutes les bases de données sont mélangées dans un seul fichier rdb.
Pour estimer la taille de la base de données, vous devez parcourir toutes les clés de la base de données via keys *, puis utiliser debug object <key> pour obtenir l'empreinte mémoire de la clé serializedlength est la longueur du champ. occupant la mémoire.
D'après le document au format RDB, on peut estimer que l'occupation réelle de chaque touche est :
key_size = strlen(key) + serializedlength + 7
Cependant, cette estimation est extrêmement peu fiable, car Redis peut compresser la clé et la valeur estimée peut être trop grande.
La commande suivante peut vérifier la taille de db0 (nombre de clés), et ainsi de suite pour les autres.
select 0
dbsize
Ou utilisez info keyspace pour obtenir toutes les informations de la base de données en même temps.
Redis ne semble pas fournir une méthode fiable pour obtenir l'occupation réelle de chaque base de données. Cela est principalement dû au fait que Redis lui-même n'a pas le concept de fichiers de base de données et que toutes les bases de données sont mélangées dans un seul fichier rdb.
Pour estimer la taille de la base de données, vous devez parcourir toutes les clés de la base de données via
keys *
, puis utiliserdebug object <key>
pour obtenir l'empreinte mémoire de la cléserializedlength
est la longueur du champ. occupant la mémoire.D'après le document au format RDB, on peut estimer que l'occupation réelle de chaque touche est :
Cependant, cette estimation est extrêmement peu fiable, car Redis peut compresser la clé et la valeur estimée peut être trop grande.
La commande suivante peut vérifier la taille de
db0
(nombre de clés), et ainsi de suite pour les autres.Ou utilisez
info keyspace
pour obtenir toutes les informations de la base de données en même temps.