国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > 管理維護 > 正文

如何對memcache的數據(key-value)進行遍歷操作

2024-09-10 14:19:01
字體:
來源:轉載
供稿:網友

什么是memcache
        memcache是一個高性能的分布式的內存對象緩存系統,通過在內存里維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。Memcache是danga.com的一個項目,最早是為 LiveJournal 服務的,最初為了加速 LiveJournal 訪問速度而開發的,后來被很多大型的網站采用。目前全世界不少人使用這個緩存項目來構建自己大負載的網站,來分擔數據庫的壓力。

為什么要遍歷
   目前,用到memcache的公司和網站也越來越多。Memcache的客戶端操作一般都只提供了get,set等簡單的操作,這些操作都是非常高效的。  雖然memcache是個key-value存儲的系統,但是在某些時候,我們可能需要遍歷memcache的數據。    

如何遍歷memcache
   stats命令
 memcache的stats命令包括:

1.        stats 
2.        stats reset 
3.        stats malloc 
4.        stats maps 
5.        stats sizes 
6.        stats slabs 
7.        stats items 
8.        stats cachedump slab_id limit_num 
9.        stats detail [on|off|dump] 
通過命令完成遍歷
       通過這些stats命令我們就可以完成memcache存儲的內容的遍歷,OK,下面我們通過telnet直接連接到memcache通過這些命令來完成相關的操作。
      telnet到192.168.15.225(局域網測試機器)的memcache服務器


執行stats items命令,可以看到出現 很多的items行。

執行stats cachedump 3 0命令。這里的3表示上面圖中items后面的數字,0標示顯示全部的數據,如果是1就標示只顯示1條。
下圖為執行后的結果,item后面的字符串為key

 
 通過上面列出的key我們就可以遍歷所有的數據了,下面我們取出某一條數據,key為Uc!uLh的數據。

 
       到這里,你也許明白了怎么去遍歷memcache的數據了。

代碼實現
       下面貼上一段php實現的遍歷memcache數據的代碼,其他語言可以參考代碼自己實現。

下面貼上一段php實現的遍歷memcache數據的代碼,其他語言可以參考代碼自己實現。

 

1.        <?php
2.        $host='192.168.15.225';
3.        $port=11211;
4.        $mem=new Memcache();
5.        $mem->connect($host,$port);
6.        $items=$mem->getExtendedStats (‘items’);
7.        $items=$items["$host:$port"]['items'];
8.        for($i=0,$len=count($items);$i<$len;$i++){
9.            $number=$items[$i]['number'];
10.         $str=$mem->getExtendedStats ("cachedump",$number,0);
11.         $line=$str["$host:$port"];
12.         if( is_array($line) && count($line)>0){
13.             foreach($line as $key=>$value){
14.                 echo $key.'=>';
15.                 print_r($mem->get($key));
16.                 echo "/r/n";
17.             }
18.         }
19.     }
20.     ?>
擴展功能
     由此可以實現查找memcache某個前綴的key的數據,或者查詢某些value的key。甚至實現數據庫的like功能。請注意:遍歷memcache的操作并沒有memcache的get操作那么高效。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 曲阜市| 华坪县| 同心县| 通化县| 怀宁县| 厦门市| 左权县| 繁昌县| 泽库县| 宣威市| 兴文县| 商丘市| 南川市| 丰镇市| 盐城市| 肃北| 拜泉县| 商城县| 南雄市| 手机| 滨州市| 景德镇市| 桃江县| 漳州市| 饶平县| 河源市| 乌苏市| 盐边县| 桂平市| 宝应县| 阿坝县| 农安县| 丽江市| 临清市| 泾川县| 阳泉市| 义乌市| 龙泉市| 丰原市| 贺州市| 长子县|