Infinispan缓存保留插入顺序

时间:2012-12-26 16:39:25

标签: insertion infinispan

我正在使用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));
}

这应打印出来: 一 二 三

2 个答案:

答案 0 :(得分:0)

暂时我使用ConcurrentLinkedHashMap解决了这个问题 它运作良好。 尽管如此,如果有人知道“如何在Infinispan中做到这一点”的原始问题的答案,我会很欣赏这个问题。

答案 1 :(得分:-1)

为什么要打印出两个三个? keySet()返回一个Set,它是一个无序的集合。请参阅Javadocs for Set,了解其合同。