程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> telnet連接操作memcache服務器詳解

telnet連接操作memcache服務器詳解

編輯:更多數據庫知識

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

1、啟動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,對其進行簡單操作管理。

2、telnet連接memcache
復制代碼 代碼如下:
[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】。

Ⅱ、讀取

       命令格式: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 <key> \r\n

<key>:要刪除的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 

3、退出telnet

復制代碼 代碼如下:
quit 

完!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved