0

如何获取二级缓存中可用的所有条目?

我的应用程序通过 cache.removeAll(); 重新缓存 并在 Hibernate 2nd Level 中列出 all() 。它将缓存我需要的所有条目。

并且在这 15 分钟内.. 我只希望从第二级获取所有条目(不打 DB)

我不希望使用休眠查询,因为底层经常变化。

我还有什么其他选择?

4

1 回答 1

0

我设法通过使用来实现这一点:

假设我的密钥是一个字符串:

List keys = Ehcache.getKeysWithExpiryCheck();
List<ABC> abcList = new ArrayList();

for(Object key = keys){
    String k = (String)((CacheKey) key).getKey();
    abcList.add(dao.get(k));
}

dao.get() 将在数据库之前先访问缓存。

=)如果有人有更好的解决方案,请告诉我。

于 2013-01-09T13:44:54.843 回答