memcache作為一款優(yōu)秀的進(jìn)程外緩存,常常被運(yùn)用于高并發(fā)系統(tǒng)架構(gòu)中。這里主要談?wù)勗趺赐ㄟ^telnet工具,查看memcache運(yùn)行狀況并對其key進(jìn)行管理維護(hù)。假設(shè)memcache安裝目錄:/usr/local/memcached
1、啟動memcache
復(fù)制代碼 代碼如下:
[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
啟動參數(shù)詳解
-d:以守護(hù)進(jìn)程方式啟動。如果該參數(shù)沒有指定,當(dāng)按ctrl+c命令結(jié)束,memcache自動關(guān)閉
-m:分配給memcache使用的最大內(nèi)存數(shù) 單位是m,默認(rèn)是64m
-u: 指定運(yùn)行memcache的用戶
-l: 指定監(jiān)聽的ip地址
-p: 指定監(jiān)聽的tcp端口號,可以通過-u指定udp端口.默認(rèn)是11211
-c: 最大并發(fā)連接數(shù)
-P: 報(bào)錯(cuò)進(jìn)程id的文件
memcache 啟動之后,我們就可以通過telnet連接memcache,對其進(jìn)行簡單操作管理。
2、telnet連接memcache
復(fù)制代碼 代碼如下:
[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進(jìn)行操作管理了,常用的命令有:
Ⅰ、添加修改
命令格式:command> key> flags> exptime> bytes>\r\ndata block>\r\n
command>:add, set或 replace
key> :緩存的名字
flag>:16位無符號整數(shù),和key要存儲的數(shù)據(jù)一起存儲,并在程序get緩存時(shí),返回。
exptime>:過去時(shí)間,0 表示永遠(yuǎn)不過期,如果非零,表示unix時(shí)間或距此秒數(shù)
bytes>:存儲數(shù)據(jù)的字節(jié)數(shù)
\r\n: 表示換行回車
命令結(jié)果:
STORED :表示成功
NOT_STORED : 表示失敗
a)、添加緩存
復(fù)制代碼 代碼如下:
add id 1 0 4
1234
STORED
如果key已經(jīng)存在,則會添加失敗。
b)、修改緩存
復(fù)制代碼 代碼如下:
replace id 1 0 4
3456
STORED
key存在時(shí),成功;不存在時(shí),失敗。
c)、設(shè)置緩存
復(fù)制代碼 代碼如下:
set id 1 0 4
2345
STORED
key不存在時(shí),添加【add】;已存在時(shí),替換【replace】。
Ⅱ、讀取
命令格式:get key>+\r\n
key>+:表示一個(gè)或多個(gè)key,多個(gè)key時(shí),用空格隔開
a)、讀取單個(gè)key的緩存
復(fù)制代碼 代碼如下:
get id
VALUE id 1 4
1234
END
b)、讀取多個(gè)key的緩存
復(fù)制代碼 代碼如下:
get id name
VALUE id 1 4
3456
VALUE name 1 3
jim
END
Ⅲ、刪除
命令格式:delete key> \r\n
key>:要刪除的key
刪除id
復(fù)制代碼 代碼如下:
delete id
DELETED
Ⅳ、清空所有緩存
命令格式:flush_all
復(fù)制代碼 代碼如下:
flush_all
OK
Ⅴ、查看緩存服務(wù)器狀態(tài)
命令:stats
復(fù)制代碼 代碼如下:
stats
STAT pid 2711 //進(jìn)程id
STAT uptime 2453 //總的運(yùn)行時(shí)間,單位描述
STAT time 1344856333 //當(dāng)前時(shí)間
STAT version 1.4.0 //版本
STAT pointer_size 32 //服務(wù)器指針位數(shù),一般32位操作系統(tǒng)是32
STAT rusage_user 0.002999 //進(jìn)程的累計(jì)用戶時(shí)間
STAT rusage_system 1.277805 //進(jìn)程的累計(jì)系統(tǒng)事件
STAT curr_connections 1 //當(dāng)前連接數(shù)
STAT total_connections 11 //服務(wù)器啟動后,總連接數(shù)
STAT connection_structures 11 //連接結(jié)構(gòu)的數(shù)量
STAT cmd_get 17 //總獲取次數(shù)
STAT cmd_set 1 //總寫入次數(shù)
STAT cmd_flush 1 //總的的清空次數(shù)
STAT get_hits 1 //總的命中次數(shù)
STAT get_misses 7 //獲取沒有命中次數(shù)
STAT delete_misses //刪除沒有命中次數(shù)
STAT delete_hits 4 //刪除命中次數(shù)
STAT incr_misses //遞增操作沒有命中次數(shù)
STAT incr_hits //遞增操作命中次數(shù)
STAT decr_misses //遞減操作沒有命中的次數(shù)
STAT decr_hits //遞減操作命中的次數(shù)
STAT cas_misses //cas設(shè)置沒有命中次數(shù)
STAT cas_hits //cas命中次數(shù)
STAT cas_badval //cas操作找到key,但版本過期,沒有設(shè)置成功
STAT bytes_read 455 //總共獲取數(shù)據(jù)量
STAT bytes_written 1175 //總共寫入數(shù)據(jù)量
STAT limit_maxbytes 1048576 //最大允許使用內(nèi)存,單位字節(jié)
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 5 //當(dāng)前線程數(shù)
STAT conn_yields 0
STAT bytes 56 //已用緩存空間
STAT curr_items 1 //當(dāng)前緩存的keyvalue數(shù)
STAT total_items 7 //總共緩存的keyvalue數(shù),包括過期刪除的
STAT evictions //通過刪除keyvalue,釋放內(nèi)存次數(shù)
END
Ⅵ、打印版本
命令:version
復(fù)制代碼 代碼如下:
version
VERSION 1.4.0
Ⅶ、打印內(nèi)存信息
命令:stats slabs
復(fù)制代碼 代碼如下:
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
復(fù)制代碼 代碼如下:
quit
完!
您可能感興趣的文章:- 淺析memcache啟動以及telnet命令詳解
- 在telnet下操作memcache詳解(操作命令詳解)