1. 程式人生 > >telnet 操作memcached詳解!

telnet 操作memcached詳解!

在講telnet操作memcached之前,請確保電腦已安裝好memcached並已啟動memcached環境,啟動步驟如下:

1、進入memcached.exe所在目錄

2、在CMD視窗輸入 memcached.exe -d start 命令啟動環境

輸入完啟動命令後,系統不會有任何提示,那麼問題來了,我們怎麼知道memcached已啟動??我們可以開啟工作管理員,點選服務,找到memcached,就能看到memcached當前是否啟動?

當你執行memcached.exe -d start 命令後,我們就可以通過telnet來連線memcached,連線命令如下:

 telnet 127.0.0.1 11211

注:由於我們memcached安裝在本地,所以其ip地址為127.0.0.1,memcached埠預設為11211

執行telnet 127.0.0.1 11211命令,就能進入telnet視窗,如下圖所示:

如果是在win系統下,記得按下回車鍵,然後我們就能愉快的使用telnet來操作memcached了!

一、set

語法:set username[key] 0[是否壓縮] 120[存活時長] 3[字元長度]

作用:set命令用於向memcache儲存一對鍵值對資料

下面我們就一起來看看set命令如何使用??

在telnet 視窗輸入並執行下方命令

set username 0 120 3

輸入完上方命令後,它會等待你輸入資料(輸入的資料必須和指定長度一致,否則會出現ERROR),如下所示:

如果輸入的資料符合要求,就會出現STORED字樣,說明該資料儲存成功!

可能有的朋友會問,阿湯哥,如果之前已經存在username這個key,我再set 這個key,會怎樣呢?咋試試這樣做會出現什麼情況。

測試結果如上圖所示,由圖可知:如果username 這個key已經存在,再執行set username操作,就會覆蓋之前儲存的資料。

資料儲存成功,我們怎麼獲取它儲存的資料呢?下面就為大家講講另外一個指令——get 命令。

二、get

語法:get key

作用:獲取key對應的value值,如果key不存在,則會提示END

我們先向memeached新增值,然後再獲取其值,截圖如下:

三、add

語法:add key

作用:與set作用相似,也是新增資料,與set不同的是,如果key之前已經存在,再執行add key操作,之前的值不會更新並提示NOT_STORED

我們先用set新增key,然後再用add新增相同的key。

四、delete

語法:delete key

作用:刪除key

我們先新增一個key,然後獲取這個key對應的值,獲取完值後我們再執行delete指令,執行完刪除指令後再獲取收據,看資料是否真正被刪除。

由上圖可知,key已成功刪除!看完delete刪除指令後,我們再來看一個更加粗暴的刪除指令,flush_all

五、flush_all

語法:flush_all

作用:刪除memcached中所有的key及value

為了講解方便,我們先新增多對key,並獲取其值,然後執行flush_all指令,再獲取其值,看是否能夠刪除全部的key。

由上可知:執行完flush_all操作後,所有的key都會被刪除。

六、incr

語法:incr score number[增加值的步長]

作用:對key存在的value進行相加操作

打個比方啊,期中考試啦,小軍考了79分,由於老師改錯一道題,小軍試卷加兩分!下面我們就用incr來模擬下這個例子!這裡只是模擬小軍分數相加這個操作過程,並不是要模擬其中考試!!!

我們先設key的值為79,然後再用incr指令執行加2分操作,程式碼截圖如下:

假設小軍發現老師改卷時少加了10分,經老師核實確實算錯了,要加10分上去!既然分數少加了,咋幫他加上去唄!如果再用incr指令加10,結果是多少???我就不繞圈子了,一起來看看結果。

相信很多人都已猜到結果是91。

有朋友可能會想到,既然有相加操作,哪肯定就有相減操作!沒錯,還有一個與incr對立的指令——decr

七、decr

語法:decr key number[相減值的步長]

作用:對key存在的值進行相減操作

注:相加、減的值都必須為整數,不能為小數或其它非數字的字元,否則會報錯

八、stats

語法:stats

作用:返回memcached統計資訊(比如set、get總數,連線數等....)

如下圖:

下面,針對上圖一些重要引數進行解釋:

1、cmd_get:執行get請求次數

1、cmd_set:執行set請求次數

3、get_misses:get指令未命中次數

4、get_hits:get指令命中次數

5、curr_connections:當前連線數

看完上文,是不是覺得memcached很簡單???如果看完上文,還有疑惑,可以線上留下評論,阿湯哥會第一時間回覆你!