memcachedの(libmemcached的な)隠しコマンド
statsコマンドのサブコマンドのcachedump.これを使えば,キーのリストアップができます.
telnetでやると,こんな感じです.
memcachedをlocalhostで立ち上げたばかりだとします.
# telnet localhost 11211 Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. stats items % カラなのを確認 END set 123 0 0 4 % set キー値 オプション・フラグ値 有効期間値 バイト数 abcde % わざと指定バイト数と違う文字数(5バイト)を入れてみる CLIENT_ERROR bad data chunk % ちゃんとエラーになった ERROR set 123 0 0 4 abcd % 今度はちゃんと4バイト入れてみる STORED % 正常に処理されたっぽい get 123 % 確認してみる VALUE 123 0 4 abcd % 完璧.setしたvalueが返ってくる END stats items % データを1個入れたことを確認したい STAT items:1:number 1 % slab=1にデータが1個入っていることが確認できた STAT items:1:age 25 STAT items:1:evicted 0 STAT items:1:outofmemory 0 END stats cachedump 2 10 % わざと存在しないslabを指定してみる END % エラーにはならないようだ stats cachedump 1 10 % データを1個入れたslabを指定してみる ITEM 123 [4 b; 1236572001 s] % ちゃんとデータのキー「123」が返ってきた.バイト数も4バイトと正しい. END set 345 0 0 4 % データをもう1個入れてみる ABCD STORED stats items % データの個数を調べる STAT items:1:number 2 % ちゃんと2個になった STAT items:1:age 476 STAT items:1:evicted 0 STAT items:1:outofmemory 0 END stats cachedump 1 10 % slab「1」を指定してダンプしてみる ITEM 345 [4 b; 1236572001 s] % こちらは後から入れたデータ ITEM 123 [4 b; 1236572001 s] % こちらは先に入れたデータ END