2015年2月16日 星期一

memcached 指令

memcached 可以使用 memcached-tool 查看一些基本訊息
memcached-tool 指令
memcached-tool 10.0.0.5:11211 display    # shows slabs
memcached-tool 10.0.0.5:11211            # same.  (default is display)
memcached-tool 10.0.0.5:11211 stats      # shows general stats
memcached-tool 10.0.0.5:11211 dump       # dumps keys and values
但 memcached-tool 可進行的操作有限,
想有更完整的操作,可用 telnet 連上 memcached Server 直接下指令
telnet 127.0.0.1 11211

常用指令
stats:查看目前狀態
stats
STAT pid 2698
STAT uptime 102322 #已運行的時間
STAT time 1423836105 #系統時間
STAT version 1.4.4
STAT pointer_size 64
STAT rusage_user 40.777800
STAT rusage_system 121.224571
STAT curr_connections 10
STAT total_connections 318957 #曾經建立的連線累計
STAT connection_structures 35
STAT cmd_get 1810658 #get資料次數
STAT cmd_set 308896 #set資料次數
STAT cmd_flush 0 #執行 flush_all 指令次數
STAT get_hits 1541222
STAT get_misses 269436
STAT delete_misses 276367
STAT delete_hits 2369
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 1587670933
STAT bytes_written 3857339329
STAT limit_maxbytes 671088640
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT bytes 2302553 #快取資料大小(bytes)
STAT curr_items 1511 #目前儲存的item數
STAT total_items 308534 #從運行到現在,曾有過的item數累計
STAT evictions 0 #為了取得空間,而剔除item的數量
END

add:增加快取資料 (key不存在時,才會執行成功)
add k1 0 600 3 # 增加一資料Key為k1,600秒失效,資料長度:3
abc #輸入要儲存的資料,長度要剛好3,然後按enter
STORED #系統回應儲存成功
注意:如果輸入資料時,大小超過指令設定的長度,系統會回應"CLIENT_ERROR bad data chunk"

get:由key取得快取資料
get k1 #按enter
VALUE k1 0 3
abc
END
get k1 k2 #取得k1、k1資料(多個key用空白分隔)

set:設定快取資料 (若key已存在,則取代舊資料)
set k1 0 600 5 #增加一資料Key為k1,600秒失效,資料長度:5
zzzzz #輸入要儲存的資料,長度要剛好5,然後按enter
STORED #系統回應儲存成功

replace:取得快取資料 (key已經存在,才會執行成功)
replace k1 0 600 6 #取代Key為k1的資料,600秒失效,資料長度:6
tttttt #輸入要儲存的資料,長度要剛好6,然後按enter
STORED #系統回應儲存成功

delete:刪除快取資料
delete k1 #刪除Key為k1的資料
DELETED #系統回應刪除成功

gets:跟get差不多,但最後多傳回一值,若這個值變動,表示資料有修改過
gets k3
VALUE k3 0 2 14 # 最後多傳回14這個值,這個值每次執行修改相關的指令成功後都會自動遞增
aa
END

cas:check and set,檢查 gets 傳的最後一個值,若沒異動表示沒有其他線程修改過,則設定新的值,若有異動,則設定失敗。
gets k3
VALUE k3 0 2 15 #最後一個值是 15
bb
END
cas k3 0 600 2 15 #最後也要指定為 15,才會儲存成功
xx
STORED
gets k3
VALUE k3 0 2 16 #修改後,最後一個值會自動遞增
xx
END

flush_all:讓快取的時間都失效(失效get取不到,但還在記憶體中)
flush_all
OK

其他指令
quit:登出
stats items:輸出 item 資訊
stats slabs:輸出 slab 資訊
stats sizes:輸出所有 item 大小和數量

參考:
Memcache 详解
memcached命令行参数说明
memcached stats命令詳解

沒有留言:

張貼留言