バッシュ
Bashのキーのリストを取得するには、次の手順に従います。
まず、次のラッパー関数を定義して、使いやすくします(コピーしてシェルに貼り付けます)。
function memcmd() {
exec {memcache}<>/dev/tcp/localhost/11211
printf "%s\n%s\n" "$*" quit >&${memcache}
cat <&${memcache}
}
Memcached 1.4.31以降
lru_crawler metadump all
コマンドを使用して、キャッシュ内のアイテム(のすべて)のメタデータ(ほとんど)をダンプできます。
とは対照的にcachedump
、重大なパフォーマンスの問題は発生せず、ダンプできるキーの量に制限はありません。
以前に定義した関数を使用したコマンドの例:
memcmd lru_crawler metadump all
参照:ReleaseNotes1431。
Memcached 1.4.30以下
items statisticsコマンドを使用して、スラブのリストを取得します。例:
memcmd stats items
各スラブクラスについて、制限数(0
-無制限)とともにスラブIDを指定することにより、アイテムのリストを取得できます。
memcmd stats cachedump 1 0
memcmd stats cachedump 2 0
memcmd stats cachedump 3 0
memcmd stats cachedump 4 0
...
注:memcachedサーバーごとにこれを行う必要があります。
すべてのスタブからすべてのキーをリストするために、1つのライナー(サーバーごとに)を次に示します。
for id in $(memcmd stats items | grep -o ":[0-9]\+:" | tr -d : | sort -nu); do
memcmd stats cachedump $id 0
done
注:上記のコマンドは、アイテムへのアクセス中に重大なパフォーマンスの問題を引き起こす可能性があるため、ライブで実行することはお勧めしません。
ノート:
stats cachedump
HOT_LRU
(IIRC?)のみをダンプします。これは、アクティビティが発生したときにバックグラウンドスレッドによって管理されます。つまり、2Qアルゴが有効にした十分に新しいバージョンでは、LRUの1つだけにあるもののスナップショットビューが表示されます。
すべてを表示したい場合lru_crawler metadump 1
(またはlru_crawler metadump all
)は、ほぼ公式にサポートされている新しいメソッドで、必要な数のキーを非同期にダンプします。それらは順不同になりますが、すべてのLRUにヒットします。アイテムを削除または置換しない限り、複数の実行で同じ結果が得られます。
出典:GH-405。
関連: