second-level-cache相关内容

Hibernate二级缓存复合id

我正在尝试在Hibernate的二级缓存中缓存一个对象,该对象在我的持久性映射文件中映射了一个复合id。日志显示,在我第一次运行查询时,映射为复合id的类被放入缓存。但是,当我再次运行查询时,不会从缓存中拉出该对象。而是再次运行查询。 Hibernate在二级缓存复合ID方面有问题吗? 相关信息: 使用Hibernate 3.1、ehcache2.4.2 复合ID类实现可序列化 ..

当另一个进程修改数据库时休眠二级缓存失效

我们有一个应用程序,它使用 Hibernate 的二级缓存来避免数据库命中. 我想知道当外部进程(例如 MySQL 管理员)直接连接以修改数据库(更新/插入/删除)时,是否有一些简单的方法可以使 Java 应用程序的 Hibernate 2 级缓存无效. 我们使用 EHCache 作为我们的二级缓存实现. 我们混合使用@Cache(usage = CacheConcurrency ..

NHibernate 二级缓存与 AppFabric

有人使用 AppFabric 进行二级缓存吗? 我知道它遵循与 Velocity 相同的 api (nhibernate.caches.velocity) 但想知道是否有人已经有使用它的一些生产经验,以及他们是否知道任何特定的技巧或问题? 解决方案 我目前知道的唯一问题是 这个问题,Velocity 缓存代码中的引用已过时,需要更新到 AppFabric v1 发布程序集. ..
发布时间:2022-01-02 16:11:00 C#/.NET

如何使用 Hibernate 3.5.2 配置 JPA 2.0 以使用 EHCache 作为 2 级缓存和查询缓存?

我找到了一些关于如何配置纯休眠以使用 EHCache 的说明.但是我找不到任何关于如何配置 JPA2.0 EntityManager 以使用缓存的说明.Hibernate 3.5.2 是我的 JPA2.0 提供程序. 编辑//@Cacheable(true) 对实体来说足够了吗?还是应该使用 @org.hibernate.annotations.Cache 来配置实体? 解决方案 ..
发布时间:2022-01-01 17:37:32 其他开发

使用 Hibernate + Spring 缓存 - 一些问题

我正在使用 Spring 3 和 Hibernate 3.6 开发 Web 应用程序.目前我试图了解使用 Spring 和 Hibernate 进行缓存是如何工作的.我找到了一些关于使用 Hibernate 进行缓存和一些关于 Spring 的资源,我现在尝试将我的信息整合在一起.我仍然对这两个框架有一些疑问,如果有人能回答这些问题或告诉我这里列出的事实是否正确,我会很高兴. 大多数时候,简 ..
发布时间:2021-12-20 11:19:47 其他开发

何时以及如何使用休眠二级缓存?

我无法理解 hibernate 何时命中二级缓存以及何时使缓存无效. 这是我目前的理解: 二级缓存存储会话之间的实体,作用域是SessionFactory 您必须告诉要缓存哪些实体,默认情况下不会缓存任何实体 查询缓存将查询结果存储在缓存中. 我不明白的是 hibernate 什么时候命中这个缓存? 假设我已经设置了二级缓存,但没有设置查询缓存.我想缓存我的客户,他们 ..
发布时间:2021-12-08 19:32:08 Java开发

如何在不更改注释的情况下禁用 Hibernate 中某些实体的二级缓存

我在我的应用程序中使用 Hibernate 二级缓存,出于某些商业原因我无法再更改实体注释. 在我的项目中,除了从 Hibernate 更改数据库之外,还存在其他不通过 Hibernate 的本机 SQL.因此,从原生 SQL 更新数据库后,Hibernate 二级缓存数据可能会过时.这就是为什么我希望禁用某些实体的二级缓存(以编程方式或其他方式而不是更改注释). 提前致谢! 解 ..
发布时间:2021-11-10 22:43:35 Java开发

是否可以将Hibernate的二级缓存用于COUNT()操作?

在将Hibernate和Ehcache用作第二级缓存(2LC)实现时,使用(或可以)在使用WHERE子句进行COUNT操作时使用此缓存吗? 用SQL术语来说,我正在执行的查询是 SELECT table(WHERE someColumn>中的COUNT(id)).100 .在某些情况下,每次传递的值都是不同的,有时它始终是相同的. 我假设这不在2LC的范围内,而是需要“手动"管理(缓存 ..
发布时间:2021-05-14 18:37:42 其他开发

缓存一致性-MESI协议

在采用MESI协议(具有l1和l2包含性)的高速缓存中是否可能存在其中l2可以将无效指令发送到l1中已经无效的行的情况. 解决方案 在某些情况下,L2根本不知道L1是否有线路,因为允许L1静默丢弃它. 实际上,如果包含L2,则从L1撤消未修改的线路(容量逐出)时,几乎没有任何理由浪费带宽,因为L2已经具有副本并且没有变化.因此,很可能L2中的许多行在从L1中逐出后仍会停留很长时间.当 ..
发布时间:2021-04-24 21:08:48 其他开发

问题:底层的Ehcache使软锁高速缓存条目到期

我收到警告,但不知道该怎么办。每次更新bannedIP时,大约有80000个条目将此警告写入tomcat的catalina.out日志文件: 警告:高速缓存package.BannedIP密钥package.BannedIP#73121可锁定:null 软锁高速缓存条目已被基础Ehcache过期。如果经常发生这种情况,则应考虑增加缓存超时和/或容量限制 2010年12月16日,下午net ..
发布时间:2020-09-28 06:27:08 Java开发

何时在EHCACHE中激活overFlowToDisk?

我对元素的“ overflowToDisk”属性有疑问吗? 1)我在此 URL : overflowToDisk设置当内存存储达到最大限制时元素是否可以溢出到磁盘。 上面的“内存”是指为运行EHCACHE的Java进程分配的JVM内存,或者是否有任何参数指定高速缓存的内存大小? 2)当运行EHCACHE的位置因某种原因终止时,是否清除了该磁盘并且缓存中的所有内容都消失了? ..
发布时间:2020-09-28 04:56:28 其他开发

用Hibernate + Spring缓存-一些问题

我正在使用Spring 3和Hibernate 3.6开发Web应用程序.目前,我试图了解Spring和Hibernate的缓存工作原理.我找到了一些有关使用Hibernate进行缓存的资源以及一些有关Spring的资源,现在我尝试将我的信息汇总在一起.我仍然对这两个框架都有疑问,如果有人可以回答或告诉我这里列出的事实是否正确,我将感到很高兴. 在大多数情况下,简短的回答(是/否)就足够了. ..
发布时间:2020-07-08 22:30:10 其他开发

使用二级缓存时最佳的查询策略和实体配置是什么

激活二级缓存后,对于我的实体而言,最佳查询策略和最佳配置是什么? 例如,我有两个具有以下关系的实体User和Group: 一个用户到多个组:用户拥有的组.这里是User类中Group的集合和Group类中的User属性(所有者). 具有属性(状态,日期等)的“许多用户到许多组":组的成员.由于附加组件的存在,因此有一个特定的类可以映射称为UserGroup的中间表.在User类中 ..
发布时间:2020-05-22 19:11:25 其他开发

具有隐式事务的nhibernate二级缓存

我读到,除非使用(显式)事务,否则我们将无法使用二级缓存-但是,我们使用的是Informix系统-由于目前无法控制的原因;一个会计系统-我们必须先使用事务,然后才能转移到SQL Server. 二级缓存可以通过缓存不经常更改的数据来极大地提高我们的性能-可以使用任何方式将其与隐式事务一起使用吗? 解决方案 否,NH在没有事务的情况下不会使用缓存.但是我真的很想知道为什么不能使用事务, ..
发布时间:2020-05-17 23:37:46 其他开发

为什么NHibernate.Cache.HashtableCacheProvider不适合生产使用?

NHibernate文档和这本书 NHibernate In Action 表示缓存提供程序NHibernate.Cache.HashtableCacheProvider不适用于生产使用.但是,我找不到原因.有人知道原因吗? 解决方案 因为它不支持任何类型的合理缓存语义(想到的第一个示例:超时),并且基本上是无限期增长的. 它仅用于测试,因为它只提供了最简单的本地缓存实现. ..
发布时间:2020-05-17 22:58:14 其他开发

如何清除NHibernate中的整个二级缓存

我希望通过代码清除NHibernate中的整个二级缓存.有没有一种方法可以独立于所使用的缓存提供程序来执行此操作? (我们有客户在同一应用程序中同时使用内存缓存和syscache). 我们希望清除整个缓存,因为可能发生了数据库外部的更改(并且我们不能保证:受影响的表/实体,因此我们必须假设最坏的情况). 解决方案 这应该做到: sessionFactory.EvictQueri ..
发布时间:2020-05-08 18:36:31 其他开发