Große Keys finden (--bigkeys, --memkeys, MEMORY USAGE)
RedisSpeicherBefehl
# Largest keys per type by element count:
redis-cli -h redis1 -p 6379 --bigkeys -i 0.01
# By memory size:
redis-cli -h redis1 -p 6379 --memkeys -i 0.01
# Size and length together, top 20 keys (redis-cli 7.4+):
redis-cli -h redis1 -p 6379 --keystats --top 20 -i 0.01
# Memory usage (SAMPLES 0: all elements) and encoding of a single suspicious key:
redis-cli -h redis1 -p 6379 MEMORY USAGE kullanici:1001:sepet SAMPLES 0
redis-cli -h redis1 -p 6379 OBJECT ENCODING kullanici:1001:sepetWas es tut
Durchsucht den Keyspace mit SCAN und meldet pro Typ die Keys mit den meisten Elementen und dem höchsten Speicherverbrauch; zeigt den tatsächlichen Speicherverbrauch und das Encoding eines verdächtigen Keys.
Wann einsetzen
Wenn der Speicher unerwartet wächst, ein einzelner Befehl (HGETALL, SMEMBERS, DEL) Latenz verursacht oder ein Knoten in einem Cluster mehr Speicher nutzt als die anderen.
Vorsicht
Der Scan verwendet SCAN und blockiert den Server nicht, durchläuft aber den gesamten Keyspace; -i 0.01 pausiert alle 100 SCAN-Aufrufe, um die Last zu senken. Das Löschen eines großen Keys mit DEL blockiert den Hauptthread; UNLINK verwenden. MEMORY USAGE mit SAMPLES 0 ist bei großen Collections O(N). Die Ausführung auf einer Replica belastet den Master nicht.