jjzjj

java - Hibernate 二级缓存

您好,我在hibernate二级缓存方面遇到了一些问题。作为缓存提供者,我使用ehcache。来自persistence.xml的部分配置我使用注解配置我的实体:@Cache(region="Kierunek",usage=CacheConcurrencyStrategy.READ_WRITE)publicclassKierunekimplementsSerializable{importsforthoseannotationsare:importorg.hibernate.annotations.Cache;importorg.hibernate.annotations.CacheC

java - Ehcache、Redis 和 Gemfire 哪种缓存适用于哪种场景?

Grails提供了三个扩展缓存插件:EhcacheRedisCacheGemfireCache这几种缓存有什么优缺点,在什么场景下应该使用哪种缓存? 最佳答案 Redis是共享数据结构,而ehCache是序列化数据对象的内存存储。Gemfire与ehCache类似,但他们试图解决多台机器之间的数据同步问题。因此,分布式环境中使用的内存数据系统。所以这取决于。如果您的软件扩展到多台机器,那么ehCache不是最佳选择,因为您将不得不担心所有机器上的缓存失效(并且每台机器上都有相同版本的数据)。您需要的不仅仅是缓存吗?用多种语言编写的软

java - JBoss Cache 和 Ehcache 的性能

我正在考虑使用JBossCache或Ehcache来实现缓存。在查看了这两个API之后,我的直觉是JBoss可能比Ehcache的内存效率更高一些,因为它可以将raw对象放入缓存中,而Ehcache需要将数据包装在Element中。对象。我设置了一个快速工作台,在缓存中重复插入键值元组。键和值类非常简单:键:publicclassKeyimplementsSerializable{privatestaticfinallongserialVersionUID=-2124973847139523943L;privatefinalintkey;publicKey(intpValue){thi

java - EHCache 如何检查缓存中是否有内容?

有没有办法检查对象是否在EHCache管理的缓存中?我面临的挑战是我实现了一种从数据库中检索单个值的方法(find(key)方法)。该查找方法的结果由EHCache很好地缓存,但现在我想减少多次调用该方法所产生的SQL查询的数量。因此,为了实现这一点,我们实现了一个新方法,该方法采用键列表作为参数,但由于每个方法调用的参数都不同,EHCache在缓存结果方面做得不好。EHCache使用方法参数作为缓存的入口点。所以我想重新设计一些东西。我的想法是,我在find(listofkeys)方法中获取参数,执行一个大型SQL查询,然后将结果填充到缓存中,我没有全神贯注,但在写下它之后感觉就像手

java - ehcache 不会在驱逐时从内存中删除元素

缓存2.5timeToIdleSeconds="1800"(30分钟),所以我希望元素在闲置30分钟后退出最后一次使用元素后30分钟,我仍然可以看到缓存中充满了元素强制GC并进行堆转储表明,元素仍在内存中getSize()返回正数,getKeys()按预期返回键(getKeys()不检查元素是否过期)获取特定元素,但结果为NULL值,这意味着它已过期。getKeysWithExpiryCheck()显示缓存为空,所有元素都已过期并被逐出强制GC和进行堆转储显示,元素收集到内存不足。maxEntriesLocalHeap="10000"eternal="false"statistics=

java - 带 ehcache 的 Hibernate 4 是否需要 ehcache-core 库?

我正在尝试将应用程序从Hibernate3升级到Hibernate4。该应用程序使用ehcache。当升级到Hibernate4.2.0.Final时,我按照建议添加了对hibernate-ehcache-4.2.0.Final的依赖。当我启动应用程序时,我收到以下错误:Causedby:java.lang.NoClassDefFoundError:org/hibernate/cache/TimestampsRegion根据http://www.javacraft.org/2012/03/migrate-to-hibernate-4-ehcache.html我应该删除对ehcache-

java - 如何在 Play 框架中配置自定义 ehcaches?

设置:玩框架2.4.0内置缓存Java我已按照https://www.playframework.com/documentation/2.4.0/JavaCache处的手册进行操作并分离缓存并使用不同的配置(缓存大小、生命周期等)我在application.conf中配置:play.cache.bindCaches=["mycache1-cache","mycache2-cache"]然后,为了配置它们,我创建了常用的ehcache.xml文件当我只保留defaultCache时它可以工作,但是一旦我添加了自定义缓存,就可以玩throws了:ProvisionException:Una

java - 如何在使用 Hibernate 时删除 Ehcache WARN 消息

我有这个EhcacheXML配置:此外,我还有一些包含实体的包(大约150个)。如果我在tomcat服务器上部署我的应用程序,日志中有很多WARN消息:2015-04-2911:59:02,712[RMITCPConnection(3)-127.0.0.1]WARNorg.hibernate.cache.ehcache.AbstractEhcacheRegionFactory-HHH020003:Couldnotfindaspecificehcacheconfigurationforcachenamed[com.company.project.entity.package.MyEnti

java - 尝试计算对象图的大小时达到了 1.000 个对象引用的配置限制

我有一个jhipster项目,我添加了一些实体。我的服务很慢,因为这个警告消息:Theconfiguredlimitof1.000objectreferenceswasreachedwhileattemptingtocalculatethesizeoftheobjectgraph.Severeperformancedegradationcouldoccurifthesizingoperationcontinues.ThiscanbeavoidedbysettingtheCacheMangerorCacheelementsmaxDepthExceededBehaviorto"abort"

java - EhCache key 类型

在EhCache中,向缓存添加元素时:cache.put(newElement("key1","value1"));//Elementconstructors:Element(Objectkey,Objectvalue)我知道我可以给一个Object作为关键指标。我如何使用它来获得一个由多个int组成的“复杂”key:(userId,siteId,...)而不是字符串作为索引?谢谢 最佳答案 将它包装在一个新类中:publicclassCacheKeyimplementsSerializable{privateintuserId;p