溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

telnet中怎么操作memcache

發(fā)布時(shí)間:2021-07-15 14:14:46 來(lái)源:億速云 閱讀:193 作者:Leah 欄目:數(shù)據(jù)庫(kù)

本篇文章給大家分享的是有關(guān)telnet中怎么操作memcache,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

通過(guò)telnet連接memcache。

復(fù)制代碼 代碼如下:


telnet 127.0.0.1 11211

memcache寫入操作

telnet寫入memcache命令格式

復(fù)制代碼 代碼如下:


 <command name> <key> <flags> <exptime> <bytes>\r\n <data block>\r\n

參數(shù)詳解:

1.<command name> 可以是”set”, “add”, “replace”。

set:<key>不存在時(shí)添加,<key>存在時(shí)覆蓋。
add:<key>不存在時(shí)添加,<key>存在時(shí)則會(huì)操作失敗。
replace:<key>不存在時(shí)添加失敗,<key>存在時(shí)替換數(shù)據(jù)

2.<key> 保存數(shù)據(jù)的key

3.<flags> 是一個(gè)16位的無(wú)符號(hào)的整數(shù)(以十進(jìn)制的方式表示)。

該標(biāo)志將和需要存儲(chǔ)的數(shù)據(jù)一起存儲(chǔ),并在客戶端get數(shù)據(jù)時(shí)返回。
客戶可以將此標(biāo)志用做特殊用途,此標(biāo)志對(duì)服務(wù)器來(lái)說(shuō)是透明的。

4.<exptime> 過(guò)期的時(shí)間。

0表示存儲(chǔ)的數(shù)據(jù)永遠(yuǎn)不過(guò)時(shí)(但可被服務(wù)器算法:LRU 等替換)。
非0(unix時(shí)間),當(dāng)過(guò)期后,服務(wù)器可以保證用戶得不到該數(shù)據(jù)(以服務(wù)器時(shí)間為標(biāo)準(zhǔn))。

5.<bytes> 需要存儲(chǔ)的字節(jié)數(shù)(不包含最后的”\r\n”),當(dāng)用戶希望存儲(chǔ)空數(shù)據(jù)時(shí),可以為0

6.最后客戶端需要加上”\r\n”作為”命令頭”的結(jié)束標(biāo)志。

7.<data block>\r\n

緊接著”命令頭”結(jié)束之后就要發(fā)送數(shù)據(jù)塊(即希望存儲(chǔ)的數(shù)據(jù)內(nèi)容),最后加上”\r\n”作為此次通訊的結(jié)束。


telnet響應(yīng)命令

當(dāng)以上數(shù)據(jù)發(fā)送結(jié)束之后,服務(wù)器將返回一個(gè)應(yīng)答。可能有如下的情況:

1.STORED\r\n:表示存儲(chǔ)成功

2.NOT_STORED\r\n: 表示存儲(chǔ)失敗,但是該失敗不是由于錯(cuò)誤。
> 通常這是由于”add”或者”replace”命令本身的要求所引起的,或者該項(xiàng)在刪除隊(duì)列之中。

示例

復(fù)制代碼 代碼如下:


set key 32 0 10\r\n
helloworld\r\n
STORED\r\n

獲取Key&Value

獲取命令格式

復(fù)制代碼 代碼如下:


get <key>*\r\n

參數(shù)詳解:
1.<key>*: 表示一個(gè)或者多個(gè)key(以空格分開(kāi))
2.\r\n:命令結(jié)束

響應(yīng)結(jié)果

服務(wù)器端將返回0個(gè)或者多個(gè)的數(shù)據(jù)項(xiàng)。每個(gè)數(shù)據(jù)項(xiàng)都是由一個(gè)文本行和一個(gè)數(shù)據(jù)塊組成。當(dāng)所有的數(shù)據(jù)項(xiàng)都接收完畢將收到END\r\n每一項(xiàng)的數(shù)據(jù)結(jié)構(gòu):

復(fù)制代碼 代碼如下:


VALUE <key> <flags> <bytes>\r\n
<data block>\r\n

參數(shù)詳解:
1.<key> 希望得到存儲(chǔ)數(shù)據(jù)的key
2.<falg> 發(fā)送set命令時(shí)設(shè)置的標(biāo)志項(xiàng)
3.<bytes>發(fā)送數(shù)據(jù)塊的長(zhǎng)度(不包含”\r\n”)
4.\r\n 文本行的結(jié)束標(biāo)志
5.<data block> 希望接收的數(shù)據(jù)項(xiàng)。
6.\r\n 接收一個(gè)數(shù)據(jù)項(xiàng)的結(jié)束標(biāo)志。

PS:如果有些key出現(xiàn)在get命令行中但沒(méi)有返回相應(yīng)的數(shù)據(jù),這意味著服務(wù)器中不存在改項(xiàng),可能是超時(shí)了,或者被刪除了.

示例

復(fù)制代碼 代碼如下:


get key
VALUE key 32 10
helloworld
END

刪除KeyValue:

復(fù)制代碼 代碼如下:

delete <key> <time>\r\n


參數(shù)詳解:
1.<key> 需要被刪除數(shù)據(jù)的key
2.<time> 客戶端希望服務(wù)器將該數(shù)據(jù)刪除的時(shí)間(unix時(shí)間或者從現(xiàn)在開(kāi)始的秒數(shù))
3.\r\n命令頭的結(jié)束

檢查Memcache服務(wù)器狀態(tài)

復(fù)制代碼 代碼如下:

stats\r\n

在這里可以看到memcache的獲取次數(shù),當(dāng)前連接數(shù),寫入次數(shù),已經(jīng)命中率等;

復(fù)制代碼 代碼如下:


pid : 進(jìn)程id
uptime :總的運(yùn)行時(shí)間,秒數(shù)
time : 當(dāng)前時(shí)間
version : 版本號(hào)
……
curr_items : 當(dāng)前緩存中的KeyValue數(shù)量
total_items : 曾經(jīng)總共經(jīng)過(guò)緩存的KeyValue數(shù)量
bytes : 所有的緩存使用的內(nèi)存量
curr_connections 當(dāng)前連接數(shù)
….
cmd_get : 總獲取次數(shù)
cmd_set : 總的寫入次數(shù)
get_hits : 總的命中次數(shù)
miss_hits :  獲取失敗次數(shù)
…..
bytes_read : 總共讀取的流量字節(jié)數(shù)
bytes_written : 總的寫入流量字節(jié)
limit_maxbytes : 最大允許使用的內(nèi)存量,字節(jié)

清空統(tǒng)計(jì)數(shù)據(jù):

復(fù)制代碼 代碼如下:


stats reset

清空所有鍵值

復(fù)制代碼 代碼如下:


flush_all

注:flush并不會(huì)將items刪除,只是將所有的items標(biāo)記為expired,因此這時(shí)memcache依舊占用所有內(nèi)存。

退出

復(fù)制代碼 代碼如下:


quit\r\n


其他命令

1.顯示各個(gè)slab的信息,包括chunk的大小、數(shù)目、使用情況等

復(fù)制代碼 代碼如下:

stats slabs

2.顯示各個(gè)slab中item的數(shù)目和最老item的年齡(最后一次訪問(wèn)距離現(xiàn)在的秒數(shù))

復(fù)制代碼 代碼如下:

stats items

3.設(shè)置或者顯示詳細(xì)操作記錄

復(fù)制代碼 代碼如下:

stats detail [on|off|dump]

參數(shù)為on,打開(kāi)詳細(xì)操作記錄
參數(shù)為off,關(guān)閉詳細(xì)操作記錄
參數(shù)為dump,顯示詳細(xì)操作記錄(每一個(gè)鍵值get、set、hit、del的次數(shù))

4.顯示某個(gè)slab中的前l(fā)imit_num個(gè)key列表

復(fù)制代碼 代碼如下:

stats cachedump slab_id limit_num


顯示格式如下:

復(fù)制代碼 代碼如下:

ITEM <key_name> [ <value_length> b; <expire_time|access_time> s]

<key_name>:鍵名
<value_length>:值長(zhǎng)度(單位字節(jié))
<expire_time|access_time>:memcached 1.2.2及以前版本顯示的是 訪問(wèn)時(shí)間(timestamp)

以上就是telnet中怎么操作memcache,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI