繁体   English   中英

java中的2级缓存

[英]2-level cache in java

如何在Java中组织2级缓存?

  • 第一级 - 记忆
  • 第二级 - 文件系统

我可以在哪里找到有关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();  

看起来使用带有覆盖到磁盘选项的选项2将适用于OP。 这两个网址可以提供帮助: http//memcached.org/http://ehcache.org/

我已经构建了一些可以满足您需求的东西。

https://github.com/enryold/onion-cache

不清楚你的问题是什么,如果你在谈论hibernate二级缓存,请参见http://www.javalobby.org/java/forums/t48846.html

如果您只想知道如何在java中缓存,那么您有几个选项1.)将数据存储在HashMap中2.)使用Memcached 3.)将其存储在文件中4.)将其存储在数据库中

每个人都有自己的权衡,我们需要了解更多关于你的问题的建议。

我使用过操作系统缓存 - http://www.opensymphony.com/oscache/wiki/Feature%20List.html并发现它是实现2级缓存的最佳方法之一。

  1. 它的工作方式类似于具有键值对的散列映射。

  2. 它将最常用的数据透明地存储在内存中,然后将其余数据交换到文件系统(您可以更改算法)

  3. 它非常好地扩展。 即使对于大量对象,它也不会显示任何性能下降

  4. 它也支持群集

  5. 它具有高度可配置性

  6. 它是免费的开源!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM