生活随笔
收集整理的這篇文章主要介紹了
通过telnet连接查看memcache服务器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
memcache作為一款優秀的進程外緩存,常常被運用于高并發系統架構中。這里主要談談怎么通過telnet工具,查看memcache運行狀況并對其key進行管理維護。假設memcache安裝目錄:/usr/local/memcached
??????????
1、啟動memcache
[plain]?view plaincopy
[root@localhost?~]#?/usr/local/memcached/bin/memcached?-d?-m?512??-u?root?-l?192.168.119.70?-p?12000?-c?512?-P?/usr/local/memcached/memcached.pid?? 啟動參數詳解
?-d:以守護進程方式啟動。如果該參數沒有指定,當按ctrl+c命令結束,memcache自動關閉
?-m:分配給memcache使用的最大內存數 單位是m,默認是64m
?-u: 指定運行memcache的用戶
?-l: 指定監聽的ip地址
?-p: 指定監聽的tcp端口號,可以通過-u指定udp端口.默認是11211
?-c: 最大并發連接數
?-P: 報錯進程id的文件
?memcache 啟動之后,我們就可以通過telnet連接memcache,對其進行簡單操作管理。
2、telnet連接memcache
[plain]?view plaincopy
[root@localhost?~]#?telnet?192.168.119.70?12000???Trying?192.168.119.70...??Connected?to?192.168.119.70?(192.168.119.70).??Escape?character?is?'^]'.??? ?連接成功之后,即可對memcache進行操作管理了,常用的命令有:
Ⅰ、添加修改
????????命令格式:<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 :?表示失敗?
a)、添加緩存
[plain]?view plaincopy
add?id?1?0?4??1234??STORED?? ???????? 如果key已經存在,則會添加失敗。
b)、修改緩存
[plain]?view plaincopy
replace?id?1?0?4??3456??STORED?? ???? key存在時,成功;不存在時,失敗。
c)、設置緩存
[plain]?view plaincopy
set?id?1?0?4??2345??STORED?? ??? key不存在時,添加【add】;已存在時,替換【replace】。
?
Ⅱ、讀取
?????? 命令格式:get <key>+\r\n
?????? <key>+:表示一個或多個key,多個key時,用空格隔開
a)、讀取單個key的緩存
[plain]?view plaincopy
get?id??VALUE?id?1?4??1234??END?? ?
?b)、讀取多個key的緩存
[plain]?view plaincopy
get?id?name??VALUE?id?1?4??3456??VALUE?name?1?3??jim??END?? ?
Ⅲ、刪除
命令格式:delete <key> \r\n
<key>:要刪除的key
刪除id
[plain]?view plaincopy
delete?id???DELETED?? ?
Ⅳ、清空所有緩存
命令格式:flush_all
[plain]?view plaincopy
flush_all??OK?? ?
Ⅴ、查看緩存服務器狀態
命令:stats
[plain]?view plaincopy
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??????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,釋放內存次數??END?? Ⅵ、打印版本
命令:version
[plain]?view plaincopy
version??VERSION?1.4.0?? Ⅶ、打印內存信息
命令:stats slabs
[plain]?view plaincopy
stats?slabs??STAT?1:chunk_size?80??STAT?1:chunks_per_page?13107??STAT?1:total_pages?1??STAT?1:total_chunks?13107??STAT?1:used_chunks?1??STAT?1:free_chunks?1??STAT?1:free_chunks_end?13105??STAT?1:get_hits?10??STAT?1:cmd_set?10??STAT?1:delete_hits?4??STAT?1:incr_hits?0??STAT?1:decr_hits?0??STAT?1:cas_hits?0??STAT?1:cas_badval?0??STAT?active_slabs?1??STAT?total_malloced?1048560??END?? ?
3、退出telnet?
[plain]?view plaincopy
quit ?
總結
以上是生活随笔為你收集整理的通过telnet连接查看memcache服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。