經過telnet鏈接查看memcache服務器

memcache做爲一款優秀的進程外緩存,經常被運用於高併發系統架構中。這裏主要談談怎麼經過telnet工具,查看memcache運行情況並對其key進行管理維護。假設memcache安裝目錄:/usr/local/memcached緩存

一、啓動memcache服務器

[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,對其進行簡單操做管理。tcp

二、telnet鏈接memcachememcached

[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)、添加緩存線程

add id 1 0 4  
1234  
STORED

若是key已經存在,則會添加失敗。

b)、修改緩存

replace id 1 0 4  
3456  
STORED

key存在時,成功;不存在時,失敗。

c)、設置緩存

set id 1 0 4  
2345  
STORED

key不存在時,添加【add】;已存在時,替換【replace】。

注意:字節數必須和你要存儲的數據保持一致,否則回報 CLIENT_ERROR bad data chunk 錯誤

Ⅱ、讀取

命令格式:get <key>+\r\n

   <key>+:表示一個或多個key,多個key時,用空格隔開

a)、讀取單個key的緩存

get id  
VALUE id 1 4  
1234  
END

b)、讀取多個key的緩存

get id name  
VALUE id 1 4  
3456  
VALUE name 1 3  
jim  
END

Ⅲ、刪除

命令格式:delete \r\n

:要刪除的key

刪除id

delete id   
DELETED

Ⅳ、清空全部緩存

命令格式:flush_all

flush_all  
OK

Ⅴ、查看緩存服務器狀態

命令:stats

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

version  
VERSION 1.4.0  
Ⅶ、打印內存信息

命令:stats slabs

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

三、退出telnet

相關文章
相關標籤/搜索