1. 程式人生 > >memcached 常用命令及使用說明

memcached 常用命令及使用說明

memcached 檢視方法

格式: telnet ip port

例如 telnet localhost 11211
退出命令:quit

一.儲存命令

儲存命令格式:

<command name> <key> <flag> <expire> <bytes>
<data block>

引數說明:
command name 命令名稱
key 查詢關鍵字
flag 儲存額外資訊
expire 資料儲存時間,0表示永遠,單位秒
bytes 儲存資料的位元組數
data block 儲存的資料

1.set  無論如何都儲存,資料不存在時儲存,資料存在時更新。

set mykey 0 0 3
123
STORED

set mykey 0 0 3
456
STORED
2.add 當資料不存在時儲存。
add mykey 0 0 3
123
STORED
add mykey 0 0 3
456
NOT_STORED
3.replace 當資料存在時儲存
set mykey 0 0 3
123
STORED

replace mykey 0 0 3
456
STORED

delete mykey
DELETED

replace mykey 0 0 3
678
NOT_STORED

二.讀取命令


1.get
key 可以一個或多個,用空格格開。

set mykey 0 0 3
123
STORED

set mykey1 0 0 3
456
STORED

get mykey mykey1
VALUE mykey 0 3
123
VALUE mykey1 0 3
456
END
2.gets 與 get 一樣,但會返回多一個數字,這個數字用來檢查資料是否被修改過,如修改過,這個數字回改變。
set mykey 0 0 3
123
STORED

gets mykey
VALUE mykey 0 3 7
123
END

replace mykey 0 0 3
888
STORED

gets mykey
VALUE mykey 0 3 8
888
END

3.cas cas即checked and set ,當最後一個引數與gets返回的數字一致時才儲存,否則返回EXISTS。

set mykey 0 0 3
123
STORED

gets mykey
VALUE mykey 0 3 9
123
END

cas mykey 0 0 3 8
456
EXISTS

cas mykey 0 0 3 9
456
STORED

三.追加與清除命令


1.append
將資料追加到當前快取資料的之後,當快取資料存在時才儲存。

set mykey 0 0 3
123
STORED

append mykey 0 0 3
456
STORED

get mykey
VALUE mykey 0 6
123456
END

append notexists 0 0 3
456
NOT_STORED

2.prepend 將資料追加到當前快取資料的之前,當快取資料存在時才儲存。

set mykey 0 0 3
123
STORED

prepend mykey 0 0 3
456
STORED

get mykey
VALUE mykey 0 6
456123
END

prepend notexists 0 0 3
456
NOT_STORED

3.delete 刪除快取資料,資料存在返回DELETED,資料不存在返回NOT_FOUND

set mykey 0 0 3
123
STORED

delete mykey
DELETED

delete mykey
NOT_FOUND
4.flush_all 將當前所有快取資料設定為過期,但不會釋放記憶體。
flush_all
OK

四.狀態命令

1.stats 檢視memcached執行狀態

pid                     Memcached 程序ID  
  
uptime                  Memcached 執行時間,單位:秒  
  
time                    Memcached 當前的UNIX時間  
  
version                 Memcached 的版本號  
  
rusage_user             該程序累計的使用者時間,單位:秒  
  
rusage_system           該程序累計的系統時間,單位:秒  
  
curr_items              Memcached 當前儲存的內容數量  
  
total_items             Memcached 啟動以來儲存過的內容總數  
  
bytes                   Memcached 當前儲存內容所佔用的位元組數(*/1024/1024=mb)  
  
curr_connections        當前連線數量  
  
total_connections       Memcached 執行以來接受的連線總數  
  
connection_structures   Memcached 分配的連線結構的數量  
  
cmd_get                 查詢請求總數  
  
cmd_set                 儲存(新增/更新)請求總數  
  
get_hits                查詢成功獲取資料的總次數  
  
get_misses              查詢成功未獲取到資料的總次數  
  
bytes_read              Memcached 從網路讀取到的總位元組數  
  
bytes_written           Memcached 向網路傳送的總位元組數  
  
limit_maxbytes          Memcached 在儲存時被允許使用的位元組總數  

2.stats items
執行stats items,可以看到STAT items行,如果memcached儲存內容很多,那麼這裡也會列出很多的STAT items行。


3.stats cachedump slabs_id limit_num

slabs_id:由stats items返回的結果(STAT items後面的數字)決定的
limit_num:返回的記錄數,0表示返回所有記錄
通過stats items、stats cachedump slab_id limit_num配合get命令可以遍歷memcached的記錄。

stats cachedump 1 0
ITEM mykey [3 b; 1362880145 s]
END


4.stats slabs
 顯示各個slab的資訊,包括chunk的大小、數目、使用情況等


5.stats sizes
 輸出所有item的大小和個數


6.stats reset
清空統計資料