2015年2月16日 星期一

用指令查看 memcached 的 key 與快取資料

memcached 是一個快取系統,將資料使用 key-value 的方式儲放在記憶體。
以下是使用指令先查看快取資料有那些 key,再從 key 去取得資料內容。

用 telnet 直接連上 memcached Server
telnet 127.0.0.1 11211

查看目前快取的項目
stats items
輸出結果可能像這樣
stats items
STAT items:9:number 4
STAT items:9:age 96284
STAT items:9:evicted 0
STAT items:9:evicted_nonzero 0
STAT items:9:evicted_time 0
STAT items:9:outofmemory 0
STAT items:9:tailrepairs 0
STAT items:10:number 666
STAT items:10:age 14545
STAT items:10:evicted 0
STAT items:10:evicted_nonzero 0
STAT items:10:evicted_time 0
STAT items:10:outofmemory 0
STAT items:10:tailrepairs 0
"STAT items:" 後面那個數字,是 slab id,
知道 slab id 後,就可以使用以下指令查詢某個 slab 裡面有哪些 key
stats cachedump <slab的id> <要查詢筆數>

例如,要查詢 slab id 為 10 裡面的 key,最多列出5筆(如果要列出全部,筆數就填 0)
stats cachedump 10 5

輸出結果可能像這樣
stats cachedump 10 5
ITEM memc.sess.key.8vkagb0o631qfgitt42duh9213 [529 b; 1423833002 s]
ITEM memc.sess.key.m444769bausgsioijhrsid2bi0 [529 b; 1423832932 s]
ITEM test1 [591 b; 1423733783 s]
ITEM aabb [605 b; 1423733783 s]
ITEM cde [645 b; 1423733783 s]
每一行第 2 個值便是 key,例如:memc.sess.key.8vkagb0o631qfgitt42duh9213、memc.sess.key.m444769bausgsioijhrsid2bi0、test1、aabb、cde

要查看 memc.sess.key.8vkagb0o631qfgitt42duh9213 這個 key 快取的資料內容,則可使用 get 指令。
get memc.sess.key.8vkagb0o631qfgitt42duh9213


參考:
Memcached: List all keys
How-to Dump Keys from Memcache

沒有留言:

張貼留言