我正在使用Infinispan 5.0.1来满足我的缓存需求。
我遇到的问题是我需要以与放入缓存相同的顺序从缓存中获取数据。 例如:
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));
}
这应打印出来: 一 二 三
答案 0 :(得分:0)
暂时我使用ConcurrentLinkedHashMap解决了这个问题 它运作良好。 尽管如此,如果有人知道“如何在Infinispan中做到这一点”的原始问题的答案,我会很欣赏这个问题。
答案 1 :(得分:-1)
为什么要打印出两个三个? keySet()返回一个Set,它是一个无序的集合。请参阅Javadocs for Set,了解其合同。