memcache是乙個高效能的分布式的記憶體物件快取系統,通過在記憶體裡維護乙個統一的巨大的hash表,它能夠用來儲存各種格式的資料,包括影象、視 頻、檔案以及資料庫檢索的結果等。memcache是danga.com的乙個專案,最早是為 livejournal 服務的,最初為了加速 livejournal 訪問速度而開發的,後來被很多大型的**採用。目前全世界不少人使用這個快取專案來構建自己大負載的**,來分擔資料庫的壓力。
目前,用到memcache的公司和**也越來越多。memcache的客戶端操作一般都只提供了get,set等簡單的操作,這些操作都是非常高效的。 雖然memcache是個key-value儲存的系統,但是在某些時候,我們可能需要遍歷memcache的資料。
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資料的**,其他語言可以參考**自己實現。
1.
<?php
2.
$host
='192.168.15.225';
3.
$port
=11211;
4.
$mem
=newmemcache();
5.
$mem
->connect(
$host
,$port);
6.
$items
=$mem
->getextendedstats (
『items』);
7.
$items
=$items
["$host:$port"
]['items'];
8.foreach($items as $key=>$values)
18. }
19. }
20.
?>
由此可以實現查詢memcache某個字首的key的資料,或者查詢某些value的key。甚至實現資料庫的like功能。請注意:遍歷memcache的操作並沒有memcache的get操作那麼高效。
Java如何遍歷Properties的所有的元素
properties pro new properties try catch filenotfoundexception e catch ioexception e propertynames 返回屬性列表中所有鍵的列舉 enumeration enu2 pro.propertynames whi...
thinkphp中memcache的用法例項
1 並安裝memcache window下安裝memcache.memcached.exe 到d m程式設計客棧emcached memcached.exe.在執行cmd 輸入 d memcached memcached.exe d install安裝 執行d memcached memcached...
php遍歷windows下中文目錄下的所有檔名
有時需要遍歷windows下中文目錄下的所有的檔名,使用utf 8編碼的檔案有時會出現亂碼,並且不能成功的執行,這時需要對檔案的編碼進行一下轉換,使用scandir這個函式的時候會連同目錄一下列出來,大家可以通過is dir 這個函式來 做乙個判斷,我使用目錄下所的檔案都有擴充套件所以只做了乙個簡單...