我爲我的緩存需要使用Infinispan 5.0.1。Infinispan緩存保留插入順序
我遇到的問題是我需要按照緩存中的相同順序從緩存中取回數據。 例如:
Cache<String, String> myCache = defaultCacheManager.getCache("myCache");
myCache.put("1", "ONE");
myCache.put("2", "TWO");
myCache.put("3", "THREE");
myCache.keySet();
Set<String> keySet = myCache.keySet();
for (String key : keySet) {
System.out.println(myCache.get(key));
}
這應該打印出來: ONE TWO THREE
現在,你錯了。 LinkedHashMap在JavaDoc中說:「這個鏈表定義了迭代排序,這通常是鍵被插入到映射中的順序(插入順序)」。如果你不相信我試試這個片段: LinkedHashMap map = new LinkedHashMap <>(); map.put(「1」,「ONE」); 012.map.put(「2」,「TWO」); map.put(「3」,「THREE」); map.put 設置 keySet = map.keySet(); (String key:keySet){ System.out.println(key +「=」+ map.get(key)); } –
kovica