2 回答

TA貢獻1805條經(jīng)驗 獲得超9個贊
一、查看代碼:
使用命令【stats items】查詢查詢到所有的slab,再使用命令【cachedump 1 0】命令找出所有的Key信息。但過期的key也會被查詢出來,所以需要對all keys執(zhí)行一遍查詢,過濾掉過期的key:
Iterator<Map<String, String>> iterSlabs = client.getStats("items").values().iterator();
Set<String> set = new HashSet<String>();
while(iterSlabs.hasNext()) {
Map<String, String> slab = iterSlabs.next();
for(String key : slab.keySet()) {
String index = key.split(":")[1];
set.add(index);
}
}
//統(tǒng)計
List<String> list = new LinkedList<String>();
for(String v : set) {
String commond = "cachedump ".concat(v).concat(" 0");
Iterator<Map<String, String>> iterItems = client.getStats(commond).values().iterator();
while(iterItems.hasNext()) {
Map<String, String> items = iterItems.next();
list.addAll(items.keySet());
}
}
return client.getBulk(list);
二、Memcached 是一個高性能的分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫負(fù)載。它通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提供動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度。
- 2 回答
- 0 關(guān)注
- 890 瀏覽
添加回答
舉報