輸入telnet 127.0.0.1 11211(memcached默認端口為11211)
stats :使用stats命令查看當前memcache服務器的狀態
pid | memcache服務器的進程ID |
uptime | 服務器已經運行的秒數 |
time | 服務器當前的unix時間戳 |
version | memcache版本 |
pointer_size | 當前操作系統 的指針大小(32位系統一般是32bit) |
rusage_user | 進程的累計用戶時間 |
rusage_system | 進程的累計系統時間 |
curr_items | 服務器當前存儲的items數量 |
total_items | 從服務器啟動以后存儲的items總數量 |
bytes | 當前服務器存儲items占用的字節數 |
curr_connections | 當前打開著的連接數 |
total_connections | 從服務器啟動以后曾經打開過的連接數 |
connection_structures | 服務器分配的連接構造數 |
cmd_get | get命令(獲取)總請求次數 |
cmd_set | set命令(保存)總請求次數 |
get_hits | 總命中次數 |
get_misses | 總未命中次數 |
evictions | 為獲取空閑內存而刪除的items數(分配給memcache的空間用滿后需要刪除舊的items來得到空間分配給新的items) |
bytes_read | 總讀取字節數(請求字節數) |
bytes_written | 總發送字節數(結果字節數) |
limit_maxbytes | 分配給memcache的內存大小(字節) |
threads | 當前線程數 |
?
set,add,replace
<command name> <key> <flags> <exptime> <bytes>\r\n <data block>\r\n
注:\r\n在windows下是Enter鍵
a) <command name> 可以是"set", "add", "replace"等。
"set"表示按照相應的<key>存儲該數據,沒有的時候增加,有的覆蓋。
"add"表示按照相應的<key>添加該數據,但是如果該<key>已經存在則會操作失敗。
"replace"表示按照相應的<key>替換數據,但是如果該<key>不存在則操作失敗。
?有時“add”,“replace”也會存儲不上。
b) <key> 客戶端需要保存數據的key。
c) <flags> 是一個16位的無符號的整數(以十進制的方式表示)。
該標志將和需要存儲的數據一起存儲,并在客戶端get數據時返回。
客戶可以將此標志用做特殊用途,此標志對服務器來說是不透明的。
d) <exptime> 過期的時間。
若為0表示存儲的數據永遠不過時(但可被服務器算法:LRU 等替換)。
如果非0(unix時間或者距離此時的秒數),當過期后,服務器可以保證用戶得不到該數據(以服務器時間為標準)。
e) <bytes> 需要存儲的字節數,當用戶希望存儲空數據時<bytes>可以為0
f) <data block>需要存儲的內容,輸入完成后,最后客戶端需要加上”\r\n”(windows直接點擊Enter)作為”命令頭”的結束標志。
set key 24 10 2 sd STOREDreplace key 24 10 3 sdd STOREDadd key1 24 10 4 sdsd STORED
Memcached protocol 中英文檔可以參考:
http://blog.s135.com/book/memcached/
查看slabs的使用狀況
使用memcached的創造著Brad寫的名為 memcached-tool 的Perl腳本,可以方便地獲得slab的使用情況(它將memcached的返回值整理成容易閱讀的格式)。可以從下面的地址獲得腳本:
http://code.sixapart.com/svn/memcached/trunk/server/scripts/memcached-tool
[root@localhost html]# vim memcached-tool
[root@localhost html]# chmod +x memcached-tool
[root@localhost html]# ./memcached-tool 127.0.0.1:11211
? #? Item_Size?? Max_age? 1MB_pages Count?? Full?
? 1????? 80 B??????? 0 s?????????????? 1????? ? ?? 0????? no
? 2???? 104 B?????? 12175 s???????? 1?????????? 1 ???? no
? 3???? 176 B??? 1339587 s?????? 33?????? 196567? yes
各列的含義:
#: slab class編號
Item_Size: Chunk大小
Max_age: LRU內最舊的記錄的生存時間
1MB_pages: 分配給Slab的頁數
Count: Slab內的記錄數
Full?: Slab內是否含有空閑chunk
也可以圖形化監控 Memcached 的運行狀態
http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/
是一個PHP源文件,只需要修改源碼中的用戶名、密碼以及數組$MEMCACHE_SERVERS 就可以了。