如何在Java中组织2级缓存?
我可以在哪里找到有关2级缓存实施和缓存策略配置的信息,或者您可以向我展示任何可以解决此问题的方法。
答案 0 :(得分:2)
我建议使用imcache并使用缓存加载器从磁盘加载必要的项目,如下所示,
Cache<String,Object> yourCache = CacheBuilder.
concurrentHeapCache().cacheLoader(new CacheLoader<String, Object>() {
public Object load(String key) {
//code to load item from file.
}
}).build();
答案 1 :(得分:1)
看起来使用带有覆盖到磁盘选项的选项2将适用于OP。这2个网址可以提供帮助:http://memcached.org/和http://ehcache.org/
答案 2 :(得分:0)
不清楚您的问题是什么,如果您正在讨论hibernate二级缓存,请参阅此处http://www.javalobby.org/java/forums/t48846.html
如果你只是想知道如何在java中缓存,那么你有几个选择 1.)将数据存储在HashMap中 2.)使用Memcached 3.)将其存储在文件中 4.)将其存储在数据库中
每个人都有自己的权衡,我们需要了解更多关于你的问题的建议。
答案 3 :(得分:0)
我使用过操作系统缓存 - http://www.opensymphony.com/oscache/wiki/Feature%20List.html并发现它是实现2级缓存的最佳方法之一。
它的工作方式类似于带有键值对的散列图。
它透明地将最常用的数据存储在内存中,然后将其余数据交换到文件系统(您可以更改算法)
它非常适合扩展。即使对于大量对象,它也不会显示任何性能下降
它也支持群集
高度可配置
免费开源!
答案 4 :(得分:0)
我已经构建了一些可以满足您需求的东西。