存儲命令的格式:java
<command name> <key> <flags> <exptime> <bytes> <data block>
參數說明以下:
命令 用法
<command name> set/add/replace/append/preappend
<key> key 用於查找緩存值
<flags> 能夠包括鍵值對的整型參數,客戶機使用它存儲關於鍵值對的額外信息
<exptime> 該數據的存活時間,0表示永遠
<bytes> 存儲字節數
<data block> 存儲的數據塊(可直接理解爲key-value結構中的value)緩存
一、set
set
命令用於向緩存添加新的鍵值對。若是鍵已經存在,則以前的值將被替換,實現了更新的做用。若是成功,服務器將會返回STORED。
服務器
set userid 0 0 3 123 STORED
二、add
僅當緩存中不存在鍵時,add
命令纔會向緩存中添加一個鍵值對。若是緩存中已經存在鍵,則以前的值將仍然保持相同,
而且您將得到響應NOT_STORED。app
add userid 0 0 3 234 NOT_STORED add useraddress 0 0 8 hangzhou STORED
三、replace
僅當鍵已經存在時,replace
命令纔會替換緩存中的鍵。若是緩存中不存在鍵,那麼您將從 memcached 服務器接受到一條NOT_STORED響應。memcached
replace userid 0 0 3 234 STORED replace province 0 0 8 zhejiang NOT_STORED
四、append
僅當鍵已經存在時,append命令纔會在存在的值後添加值。若是緩存中不存在鍵,那麼您將從 memcached 服務器接受到一條NOT_STORED響應。fetch
append userid 0 0 1 5 STORED append province 0 0 8 jiangshu NOT_STORED
五、prepend
僅當鍵已經存在時,append命令纔會在存在的值前添加值。若是緩存中不存在鍵,那麼您將從 memcached 服務器接受到一條NOT_STORED響應。 ui
prepend province 0 0 5 anhui NOT_STORED prepend userid 0 0 1 6 STORED
讀取的命令格式:spa
<command name> <key>
服務端返回:
操作系統
<exptime> <bytes> VALUES<data block>
一、get
get命令的key能夠表示一個或者多個鍵,鍵之間以空格隔開指針
get username userid VALUE username 0 12 hahahahahaha VALUE userid 0 5 62345
二、gets
gets
命令的功能相似於基本的get
命令。兩個命令之間的差別在於,gets
返回的信息稍微多一些:64 位的整型值很是像名稱/值對的 「版本」 標識符。
gets username userid VALUE username 0 12 6 hahahahahaha VALUE userid 0 5 12 62345
gets
命令將返回一個額外的值 — 在本例中是整型值6和12,用於標識名稱/值對。若是對此名稱/值對執行另外一個set
命令,則gets
返回的額外值將會發生更改。
set userid 0 0 5 12345 STORED gets userid VALUE userid 0 5 13 12345
返回值已經被更改成13了,每次修更名稱/值對時,該值都會發生更改。
刪除命令格式:
<command name> <key>
delete
delete
命令用於刪除 memcached 中的任何現有值。使用一個鍵調用delete
,若是該鍵存在於緩存中,則刪除該值。若是不存在,則返回一條NOT_FOUND消息。
delete userid DELETED delete name NOT_FOUND
一、stats
顯示服務器信息、統計數據等。
STAT pid 3581 --memcached進程號 STAT uptime 5272 --memcached server自啓動到如今的時間(秒) STAT time 1342743071 --當前UNIX的時間 STAT version 1.4.13 --memcached server的版本號 STAT libevent 1.4.13-stable STAT pointer_size 32 --操做系統默認的指針大小 STAT rusage_user 0.020996 STAT rusage_system 0.172973 STAT curr_connections 5 --當前的客戶端鏈接數 STAT total_connections 0 --server從啓動到如今,累計的客戶端鏈接數 STAT connection_structures 6 --server分配的鏈接結構數 STAT reserved_fds 20 STAT cmd_get 0 --memcached讀次數 STAT cmd_set 0 --memcached寫次數 STAT cmd_flush 0 STAT cmd_touch 0 STAT get_hits 0 --memcached讀緩存未命中次數 STAT get_misses 0 --memcached讀緩存命中次數 STAT delete_misses 0 STAT delete_hits 0 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 touch_hits 0 STAT touch_misses 0 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read 62 --從cache中讀取的總字節數 STAT bytes_written 1200 --寫入cache的總字節數 STAT limit_maxbytes 314572800 --該memcached server分配的最大內存數量 STAT accepting_conns 1 STAT listen_disabled_num 0 STAT threads 4 STAT conn_yields 0 STAT hash_power_level 16 STAT hash_bytes 262144 STAT hash_is_expanding 0 STAT expired_unfetched 0 STAT evicted_unfetched 0 STAT bytes 138 STAT curr_items 2 --當前存儲的item數目 STAT total_items 0 --erver從啓動到如今,總共累計存儲的item數目 STAT evictions 0 STAT reclaimed 0
平均每秒請求獲取緩存的次數 = cmd_get / uptim
緩存命中率 = get_hits/cmd_get * 100%
cmd_get = get_misses + get_hits
二、stats items 顯示各個slab中item的數目和最老item的年齡(最後一次訪問距離如今的秒數)