memcache linux 下的使用

2021-06-06 00:28:41 字數 1644 閱讀 1252

近來一直對memcache的telnet使用方法有些苦惱,不明白其中的一些引數代表什麼意思,查詢很多資料,終於搞明白了一些,另外還學習了php遍歷memcache的方法,但由於我們很多伺服器都載入cookie的加密擴充套件,很多的鍵值都是md5加密,不過對於沒有加密的伺服器還是有些用處的。總結如下:

一,telnet請求命令格式

\r\n \r\n

1,可以是」set」, 「add」, 「replace」。

「set」表示按照相應的儲存該資料,沒有的時候增加,有的覆蓋。

「add」表示按照相應的新增該資料,但是如果該已經存在則會操作失敗。

「replace」表示按照相應的替換資料,但是如果該不存在則操作失敗

2,客戶端需要儲存資料的key。

3,是乙個16位的無符號的整數(以十進位制的方式表示)。

該標誌將和需要儲存的資料一起儲存,並在客戶端get資料時返回。

客戶可以將此標誌用做特殊用途,此標誌對伺服器來說是不透明的。

4,過期的時間。

若為0表示儲存的資料永遠不過時(但可被伺服器演算法:lru 等替換)。

如果非0(unix時間或者距離此時的秒數),當過期後,伺服器可以保證使用者得不到該資料(以伺服器時間為標準)。

5,需要儲存的位元組數(不包含最後的」\r\n」),當使用者希望儲存空資料時,可以為0

6,「stored\r\n」:表示儲存成功 .「not_stored\r\n」:表示儲存失敗,但是該失敗不是由於錯誤。

例:set key 0 8 4

輸入:zhao

說明:鍵是key ,0 為flags , 8 為過期時間8秒,4 為值的長度 ,zhao為鍵的值

stats items 列出所有的items

stats items

stat items:1:number 220

stat items:1:age 83095

stat items:2:number 7

stat items:2:age 1405

[...]

endstats cachedump 1 0 //列出所有的key,1為items:1,這個值,0為所有,也可指定列出多少條

stats cachedump  1 0

item key1 [8 b; 1331609364 s]

item key2 [8 b; 1331609364 s]

get key 列出key的值

get key1

value key1 0 8

zhangyan

二,通過php,遍歷所有鍵值

<?php

/** 首先連線到memcache,列出所有的items

* 然後將items下的key列出來,進行遍歷,將值輸出

*/$host = '192...43';

$port = 11211;

$mem = new memcache();

$mem->connect($host,$port);

$items=$mem->getextendedstats ('items');

$items=$items["$host:$port"]['items'];//列出所有的items專案

for ($i=1,$len=count($items);$i<=$len;$i++)}}

?>

diskpart 下的clean下的恢復資料

非常不小心,執行了diskpart 下的clean 結果250g的硬碟就成了乙個未使用的磁碟。如何恢復遭diskpart clean清除的硬碟分割槽?回答 1.diskgen手動掃瞄應該是可以的,如果不行那就只能找專業公司了,我沒見過比這個更厲害的軟體 恢復分割槽 還有就是你知道原分割槽大小和個數,...

linux下解壓windows下的rar檔案

1 在windows平台下生成的rar壓縮檔案,在linux平台下預設不支援,所以要想在linux下解壓windows下的rar檔案,需要安裝linux版本的rar軟體。tar zxvf rarlinux 4.2.0.tar.gz 解壓之後生成rar目錄 3 進入rar目錄,執行make命令進行安裝...

CentOS下WDCP下的MYSQL開啟遠端連線

1 首先要在防火牆開啟3306埠訪問 2 然後做如下操作 如何開啟mysql的遠端帳號 1 首先以 root 帳戶登陸 mysql 在 windows 主機中點選開始選單,執行,輸入 cmd 進入控制台,然後cd 進入mysql 的 bin 目錄下,然後輸入下面的命令。mysql uroot p12...