如何在不使用hibernate / spring拦截器的情况下为独立Java程序配置EHcache?
任何人都可以发布一个示例来为独立的Java应用程序配置Ehcache
吗?
我有以下简单的要求:
- 从数据库获取数据,
- 格式化数据和
- 写入文件
我正在使用jdbctemplate.Query
,它正在快速执行,但从列表中检索需要相当长的一段时间。 List
正在保存大量数据(结果集)。
任何人都可以建议如何克服这个问题?
这是一个非常古老的post,但它似乎经常回来….
您应该遵循Pascal的建议并阅读这些示例,但这里有一段示例代码可以帮助您入门(从Scala翻译,我没有完全检查语法)
-
首先,将
net.sf.ehcache:ehcache:2.9.0
及其依赖项放在ClassPath中 -
要创建缓存,它就像
CacheManager cacheMgr = CacheManager.newInstance(); //Initialise a cache if it does not already exist if (cacheMgr.getCache("MyCache") == null) { cacheMgr.addCache("MyCache"); }
在代码中仅将CacheManager实例化一次并重用它。
- 缓存的行为由名为
ehcache.xml
的XML配置文件决定,该文件必须在类路径中可用。 您也可以以编程方式执行此操作。 该文件可能看起来像
有关参数的详细信息,请查看http://ehcache.org/documentation/2.8/configuration/configuration
-
用它
//use it Cache cache = cacheMgr.getCache("MyCache"); //Store an element cache.put(new Element("key", mySerializableObj)); //Retrieve an element Element el = cache.get("key"); Serializable myObj =
el.getObjectValue();
尝试存储可序列化的对象,以便您可以轻松地溢出到存储设备。
有关与ehcache直接交互的更多信息,请查看“ 代码示例和配方”一章 。
食谱和代码示例
“食谱和代码样本”页面包含食谱 – 特定用例的简明示例 – 以及一组可帮助您开始使用Ehcache的代码示例。
它们涵盖了几个用例并提供了几个代码示例,这正是您所要求的。