1. 程式人生 > >linux下操作memcache的操作命令

linux下操作memcache的操作命令

1、連線memcache

linux下一般使用telnet連線memcache服務

[[email protected] ~]# telnet 127.0.0.1 11266  
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

這樣就連線成功了,使用以下命令進行操作:

新增修改key-value

命令格式:

 <command> <key> <flags> <exptime> <bytes>\r\n
 <data block>\r\n
引數名稱 作用
command add, set或 replace
key 快取的名字
flag 16位無符號整數,和key要儲存的資料一起儲存,並在程式get快取時,返回。
exptime 過去時間,0 表示永遠不過期,如果非零,表示unix時間或距此秒數
bytes 儲存資料的位元組數
\r\n 表示換行回車

命令結果:

STORED #表示成功
NOT_STORED  #表示失敗 
CLIENT_ERROR bad data chunk  #輸入資料有誤
新增快取
add kk 1 0 4  #回車
1234  #回車
STORED 

如果key已經存在,則會新增失敗。如果資料 不是4個位元組 應該會提示資料錯誤

修改快取
replace kk 1 0 2  #回車
11  #回車
STORED  

key存在時,成功;不存在時,失敗。

設定快取
set kk 1 0 4  #回車
1234 #回車
STORED  

key不存在時,新增【add】;已存在時,替換【replace】。

讀取

get kk
VALUE kk 1 4
1234

多個key時,用空格隔開

刪除

delete kk #回車
DELETED

清空所有快取

flush_all  
OK

檢視快取伺服器狀態

stats
返回資訊: 引數名稱 作用
STAT pid 2711 程序id
STAT uptime 2453 總的執行時間,單位描述
STAT time 1344856333 當前時間
STAT version 1.4.0 版本
STAT pointer_size 32 伺服器指標位數,一般32位作業系統是32
STAT rusage_user 0.002999 程序的累計使用者時間
STAT rusage_system 1.277805 程序的累計系統事件
STAT curr_connections 1 當前連線數
STAT total_connections 11 伺服器啟動後,總連線數
STAT connection_structures 11 連線結構的數量
STAT cmd_get 17 總獲取次數
STAT cmd_set 1 總寫入次數
STAT cmd_flush 1 總的的清空次數
STAT get_hits 1 總的命中次數
STAT get_misses 7 獲取沒有命中次數
STAT delete_misses 刪除沒有命中次數
STAT delete_hits 4 刪除命中次數
STAT incr_misses 遞增操作沒有命中次數
STAT incr_hits 遞增操作命中次數
STAT decr_misses 遞減操作沒有命中的次數
STAT decr_hits 遞減操作命中的次數
STAT cas_misses cas設定沒有命中次數
STAT cas_hits cas命中次數
STAT cas_badval cas操作找到key,但版本過期,沒有設定成功
STAT bytes_read 455 總共獲取資料量
STAT bytes_written 1175 總共寫入資料量
STAT limit_maxbytes 1048576 最大允許使用記憶體,單位位元組
STAT accepting_conns 1 已經達到連線數量最大值,該值為1;未達到連線數量最大值,該值為0
STAT listen_disabled_num 0 統計當前伺服器連線數曾經達到最大連線的次數
STAT threads 5 當前執行緒數
STAT conn_yields 0 伺服器是否達到過最大連線
STAT bytes 56 已用快取空間
STAT curr_items 1 當前快取的keyvalue數
STAT total_items 7 總共快取的keyvalue數,包括過期刪除的
STAT evictions 通過刪除keyvalue,釋放記憶體次數

其他命令

version  #顯示版本號
stats reset #清空統計資料
stats slabs #顯示各個slab的資訊,包括chunk的大小、數目、使用情況等
stats items  #顯示各個slab中item的數目和儲存時長(最後一次訪問距離現在的秒數)

退出telnet

ctrl+]
tlenet>quit

其他方式連線memcache

1、資料儲存(key為kk,value為123)

printf 'set kk 1 0 4\r\n1234\r\n' | nc 127.0.0.1 11264

2、資料取回

printf 'get kk\r\n' | nc 127.0.0.1 11264

3、替換資料(將以kk為key儲存的值替換為122)

printf 'replace kk 1 0 4\r\n2345\r\n' | nc 127.0.0.1 11264

4、數值增加 1

printf 'incr 1\r\n' | nc 127.0.0.1 11264

5、數值減少 2

printf 'decr 2\r\n' | nc 127.0.0.1 11264

6、資料刪除

printf 'delete kk\r\n' | nc 127.0.0.1 11264

7、檢視Memcached當時狀態

printf "stats/r/n" | nc 127.0.0.1 11264

8、檢視Memcached實時狀態

watch "printf 'stats/r/n' | nc 127.0.0.1 11264"