Tag: ehcache

如何在不使用hibernate / spring拦截器的情况下为独立Java程序配置EHcache?

任何人都可以发布一个示例来为独立的Java应用程序配置Ehcache吗? 我有以下简单的要求: 从数据库获取数据, 格式化数据和 写入文件 我正在使用jdbctemplate.Query ,它正在快速执行,但从列表中检索需要相当长的一段时间。 List正在保存大量数据(结果集)。 任何人都可以建议如何克服这个问题?

简单的Java缓存库或设计模式?

我需要经常访问耗时计算的结果。 结果不经常更改,因此我不得不不时重新计算数据,但可以暂时使用过时的结果。 最简单的方法是什么?现有的库方法或设计模式是什么? 我在想类似的东西 private static List myCachedList = null; … // refresh list once in 3600 seconds if (needsRefresh(myCachedList, 3600)) { // run the calculation myCachedList = … } // use either updated or previous value from here on 一个正确的实现可能不是微不足道的,它可能必须处理线程安全,竞争条件等,所以我宁愿使用一个经过validation的实现,而不是在我自己。

JBoss Cache和Ehcache的性能

我正在考虑使用JBoss Cache或Ehcache来实现缓存。 在查看了这两个API后,我直觉认为JBoss可能比Ehcache更高效,因为它可以将原始对象放入缓存,而Ehcache需要将数据包装在Element对象中。 我设置了一个快速的工作台,在缓存中重复插入密钥,值元组。 键和值类非常简单: 键: public class Key implements Serializable { private static final long serialVersionUID = -2124973847139523943L; private final int key; public Key(int pValue) { this.key = pValue; } public int getValue() { return this.key; } @Override public String toString() { return “Key [key=” + this.key + “]”; } } 值: public class […]

EhCache在java中默认缓存

我有ehCache的配置: 如何访问EhCache的默认缓存? CacheManager.getInstance().getCache(“default”); // returns null

ehcache在同一主机上的2个实例之间自动发现(通过多播)

我在同一台主机上运行了2个tomcat实例。 每个实例都运行相同的Web应用程序,该应用程序尝试通过RMI复制来传递一些ehcache缓存。 我在ehcache中使用自动发现配置,因此我不必明确定义哪些是主机,哪些是我想要复制的高速缓存。 ehcache实例无法找到彼此并进行通信: DEBUG (RMIBootstrapCacheLoader.java:211) – cache peers: [] DEBUG (RMIBootstrapCacheLoader.java:133) – Empty list of cache peers for cache org.hibernate.cache.UpdateTimestampsCache. No cache peer to bootstrap from. 如果我尝试相同的东西,但这次在一个单独的主机(盒子)上运行每个tomcat实例,那么一切都像魅力。 我是做错了什么,或者当实例在同一主机上时,不能通过多播进行自动发现? 我的配置使用RMI分布式缓存文档中提供的默认值: 在我希望复制的每个缓存区域内,我有: 谢谢

写后面的缓存Ehcache新function?

我正在寻找关于如何在ehcache中使用这个新functionwrite-behind-cache的指南/文档/教程? 在spring + jpa + ehcache + hibernate中有没有演示? 只是为了clariyfing,write-behind-cache意味着每次我们持久化实体,它都会写入缓存而不是数据库正确吗?

JPA + Hibernate + EHCache,出乎意料的行为

我正在尝试将EHCache实现到我的工作原型中,其中我有一个javax.persistence.Entity表示我的数据库上的表(MySQL,mysql-connector-java-5.1.20.jar),它作为XML提供给消费者。 我面临的问题是, 即使EHCache将查询结果存储在内存中 ,Hibernate仍然会从数据库中检索数据。 我正在使用EHCache监视器查看内存中的项目数,并在缓存过期之前直接在数据库上更改数据,以了解是否实际使用了缓存数据。 我一直在寻找这个问题的复制而没有成功,所以也许我错过了一些东西(我只是想进入java世界)。 我的文件 的pom.xml org.hibernate hibernate-validator 4.3.0.Final org.hibernate hibernate-entitymanager 4.1.4.Final org.hibernate hibernate-ehcache 4.1.4.Final net.sf.ehcache ehcache-core 2.5.2 org.terracotta ehcache-probe 1.0.2 实体类 package myPrototype.entities import javax.persistence.Cacheable; import javax.persistence.Entity; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.xml.bind.annotation.XmlRootElement; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; @Entity @Cacheable @Cache(usage=CacheConcurrencyStrategy.READ_ONLY) @Table(name = “Cars”) @XmlRootElement @NamedQueries({ @NamedQuery(name = “Cars.findAll”, query = […]

将EhCache磁盘库内容加载到内存中

如EhCache文档中所述: 实际上,这意味着持久的内存缓存将启动磁盘上的所有元素 。 […]因此,Ehcache设计在启动时不会将它们全部加载到内存中,而是根据需要懒洋洋地加载它们。 我想内存缓存启动将其所有元素都存储在内存中,我该如何实现呢? 原因是我们的网站对缓存执行了大量访问,因此我们第一次访问网站时响应时间非常短。

Spring MVC的ehcache或spring cache中最好的Cache实践是什么?

计划在基于Spring网络的应用程序中实现静态数据的缓存机制,任何人都可以解释哪个是最好的以及它是如何工作的? 的Ehcache Spring Cache

任何可以限制内存缓存的内存使用的Java缓存,而不仅仅是实例计数?

我正在寻找一个简单的内存(和进程中)缓存,用于查询数据的短期缓存(但短期意义超出请求/响应,即会话边界)。 EhCache可能会工作,但看起来好像它可能不提供我需要的东西:限制不是缓存的对象数量,而是(大致)限制缓存数据消耗的内存量。 我知道很难在没有序列化的情况下找出给定对象的确切内存使用情况(我希望在一般情况下避免由于其缓慢而使我的用途失败),并且我很自己必须提供大小估计。 那么:是否有一个简单的开源java缓存,允许定义缓存对象的“权重”,以限制缓存的事物数量? 编辑(2010年11月):对于它的价值,有一个名为Java CacheMate的新项目试图解决这个问题,以及其他一些改进的想法(多级内存中进程缓存)