Bash
Führen Sie die folgenden Schritte aus, um eine Liste der Schlüssel in Bash zu erhalten.
Definieren Sie zunächst die folgende Wrapper-Funktion, um die Verwendung zu vereinfachen (Kopieren und Einfügen in die Shell):
function memcmd() {
exec {memcache}<>/dev/tcp/localhost/11211
printf "%s\n%s\n" "$*" quit >&${memcache}
cat <&${memcache}
}
Memcached 1.4.31 und höher
Sie können verwenden lru_crawler metadump all
Befehl (die meisten) Metadaten für (alle) Elemente im Cache sichern.
Im Gegensatz zu cachedump
es keine schwerwiegenden Leistungsprobleme und hat keine Begrenzung für die Anzahl der Schlüssel, die ausgegeben werden können.
Beispielbefehl mit der zuvor definierten Funktion:
memcmd lru_crawler metadump all
Siehe: ReleaseNotes1431 .
Memcached 1.4.30 und darunter
Rufen Sie die Liste der Platten mit dem Befehl items statistics ab , z. B.:
memcmd stats items
Für jede Slub-Klasse können Sie eine Liste der Elemente abrufen, indem Sie die Slub-ID zusammen mit der Grenzwertnummer ( 0
- unbegrenzt) angeben :
memcmd stats cachedump 1 0
memcmd stats cachedump 2 0
memcmd stats cachedump 3 0
memcmd stats cachedump 4 0
...
Hinweis: Sie müssen dies für jeden zwischengespeicherten Server tun.
Um alle Schlüssel von allen Stubs aufzulisten, ist hier der Einzeiler (pro Server):
for id in $(memcmd stats items | grep -o ":[0-9]\+:" | tr -d : | sort -nu); do
memcmd stats cachedump $id 0
done
Hinweis: Der obige Befehl kann beim Zugriff auf die Elemente schwerwiegende Leistungsprobleme verursachen. Es wird daher nicht empfohlen, ihn live auszuführen.
Anmerkungen:
stats cachedump
wirft nur die HOT_LRU
speichert (IIRC?), das während der Aktivität von einem Hintergrundthread verwaltet wird. Dies bedeutet, dass Sie unter einer ausreichend neuen Version, die mit dem 2Q-Algo aktiviert wurde, Schnappschussansichten von nur einer der LRUs erhalten.
Wenn Sie alles anzeigen möchten, ist lru_crawler metadump 1
(oder lru_crawler metadump all
) die neue, meist offiziell unterstützte Methode, mit der so viele Schlüssel asynchron ausgegeben werden, wie Sie möchten. Sie werden sie außer Betrieb setzen, aber es trifft alle LRUs, und wenn Sie keine Elemente löschen / ersetzen, sollten mehrere Läufe die gleichen Ergebnisse liefern.
Quelle: GH-405 .
Verbunden: