2 回答

TA貢獻1805條經驗 獲得超9個贊
一、查看代碼:
使用命令【stats items】查詢查詢到所有的slab,再使用命令【cachedump 1 0】命令找出所有的Key信息。但過期的key也會被查詢出來,所以需要對all keys執行一遍查詢,過濾掉過期的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);
}
}
//統計
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 是一個高性能的分布式內存對象緩存系統,用于動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提供動態、數據庫驅動網站的速度。
- 2 回答
- 0 關注
- 893 瀏覽
添加回答
舉報