问题标签 [second-level-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
981 浏览

hibernate - ehcache 缓存命中性能

有没有人有任何关于 Ehcache 的缓存命中性能的信息?我正在寻找一种低延迟的数据访问解决方案。

0 投票
3 回答
10420 浏览

hibernate - 软锁定缓存条目已被底层 Ehcache 过期

休眠 3.3.x、ehcache 2.2.x

当我尝试一次发布大量用户时,会发生以下错误。关于为什么会发生这种情况以及如何纠正这个问题的任何想法?有没有办法在批量加载用户之前禁用此缓存,如果是这样,我应该怎么做?

编辑1:

当我尝试通过 JPA 调用将大量用户批量加载到数据库中时,会发生此错误。我不会通过拆卸钩子关闭缓存管理器。

0 投票
2 回答
1601 浏览

c# - NHibernate 查询缓存每行发出一个请求以获取实体

我正在尝试 NHibernate 中的二级缓存。使用此代码:

如果实体不在缓存中,则会导致执行如下查询:

如果返回 100 行,则将执行其中的 100 行。即一个很大的性能问题。如果只执行这个查询会更好:

缓存中不存在实体可能是因为未配置实体缓存、缓存大小有限或缓存中的实体已过期或从缓存中删除。

为了不被迫 100% 依赖实体缓存,是否可以更改 NHibernate 查询“丢失”实体数据的方式?

0 投票
1 回答
573 浏览

c# - NHibernate 2 级缓存不缓存整个实体

我有这个代码:

这将生成以下输出:

我第二次使用 Get 方法获取 Order 时,它不会查询 Order 表,但它仍然会查询 OrderRow 表。

是否可以通过某种方式对其进行配置,以便将其与订单表数据一起缓存?

0 投票
2 回答
1212 浏览

nhibernate - NHibernate Azure AppFabric 缓存

有没有尝试过针对 Azure AppFabric 缓存使用 NHibernate Velocity L2 缓存提供程序?如果有,你发现了什么?

附带说明一下,我们使用 SQL Azure 来存储我们的数据。

0 投票
3 回答
939 浏览

mysql - 关于休眠的奇怪查询问题

我在休眠中更新和显示数据时遇到了一个奇怪的问题。谁能帮帮我!?

我正在使用hibernate,spring和mysql。

我面临的问题是,任何更改都可以应用于数据库。但是如果我在网页上加载更新的项目,它总是随机返回旧数据或新数据。

我确信这不是浏览器缓存的问题。我试图在 dao 类的 getPost 方法中打印出返回数据。它有时只是打印出错误消息。

比如说,如果我多次更改帖子内容,所有更改都可以存储在数据库中。但是如果我不断刷新页面以显示更改的数据,它会随机显示所有以前的更改。

我尝试了不同的方法在 getPost 方法中加载数据,但仍然面临同样的问题:

  1. 尝试过 session.clear 和 session.flush

  2. 关闭二级缓存为:

    /li>
  3. 加载数据的不同方式:session.load、session.get、hibernate query、Criteria,都有相同的问题。

  4. 在 postDAO 的 getPost 方法中:我先尝试通过原生 SQL 加载数据,并想与休眠查询的结果进行比较。两个查询都返回旧数据。

代码:

0 投票
1 回答
2277 浏览

hibernate - 如何启用 infinispan-configs.xml 的 namedCache “实体”,用于支持其 namedCache “local-query”

当使用 Hibernate 3.5.6-FINAL 作为我们的 JPA 提供程序并使用 infinispan 4.2.0.ALPHA1 作为二级查询缓存提供程序时,我担心,与 Hibernate 文档相反,数据库结果被多次存储在不同的内存中infinispan namedCache 中的位置(对于返回某些相同记录的不同 HQL 查询的结果集),“local-query”。由于我们的许多频繁发出的查询在其结果集中有很大的交集,这可能会很快耗尽内存并使查询缓存无用。

我怀疑我错误地配置了 infinispan 或 hibernate 或两者,因为我似乎无法让 hibernate 2 级实体缓存作为查询缓存的支持运行。我希望看到一个将 infinispan 作为 hibernate-as-JPA 2 级查询缓存的示例,其结果本身由 infinispan 作为 hibernate-as-JPA 2 级实体缓存支持。

细节:

Hibernate 3.5 文档(http://docs.jboss.org/hibernate/core/3.5/reference/en/html/performance.html#performance-querycache-enable)声称:

查询缓存不缓存缓存中实际实体的状态;它只缓存标识符值和值类型的结果。出于这个原因,[原文如此] 对于那些预期作为查询结果缓存的一部分缓存的实体,查询缓存应始终与二级缓存一起使用

但是,使用 infinispan (根据http://community.jboss.org/wiki/usinginfinispanasjpahibernatesecondlevelcacheprovider )启用休眠级别 2 查询缓存, 就像在我们的 persistence.xml 中一样:

并检查 infinispan CacheManager JMX 属性仅显示 infinispan-configs.xml 中定义的六个 namedCache 之一(来自 GAV org.hibernate/hibernate-infinispan/3.5.6-FINAL,这取决于 GAV org.infinispan/infinispan-core/ 4.2.0.ALPHA1) 被创建,还有一个没有在那里定义:

我怀疑上面引用的 jboss wiki 文章在讨论实体缓存时指的是 namedCache “实体”;但是,我找不到如何创建该缓存。(除此之外:我还担心创建了 infinispan-configs.xml 的本地查询,但没有创建 infinispan-configs.xml 的时间戳;相反,我们收到了一个 UpdateTimestampsCache,它必须在 hibernate 的其他地方定义。)

在我们的 persistence.xml 中,然后注释相关实体 @javax.persistence.Cacheable 确实(根据 infinispan CacheManager JMX 属性)创建了实体缓存(命名为实体的包限定 java 类名),但它们似乎甚至未使用当 JMX 统计数据显示本地查询的命中率很高时(实际上,这种缓存命中查询的性能非常出色)。

我的恐惧是没有根据的吗?即使在多个 HQL 查询的结果集中返回实体信息,infinispan 也只存储一次实体信息?如果不是,那么获取 infinispan-configs.xml 的 namedCache 的正确方法是什么,“实体”用于避免实体数据的重复存储?最后,如何使用 infinispan-configs.xml 的 namedCache,“timestamps”,而不是“org.hibernate.cache.UpdateTimestampsCache”,作为休眠二级时间戳缓存?

0 投票
1 回答
449 浏览

nhibernate - 区域清除后带有 Appfabric Velocity 的 NHibernate 崩溃

我正在使用 NHibernate 和 Velocity 作为第二个缓存级别提供程序。

我需要清除一个区域。我正在使用这段代码:

authCache.Clear() 实际上是调用 NHibernate.Caches.Velocity.VelocityClient.Cache 方法。

该区域已正确清除。但在那之后,会打开一个新会话,并对先前缓存的实体进行查询。它尝试在 VelocityClient 中获取并锁定。砰。AppFabricCachingService 崩溃(请参阅下面的事件日志)

我是否正确清除缓存?我的错误是什么?

======================

事件簿

0 投票
2 回答
807 浏览

nhibernate - NHibernate 二级缓存

我正在开发一个 Windows 客户端-服务器应用程序。服务器作为 Windows 服务运行,所有客户端都使用 WCF 连接到它。服务器使用 NHibernate 3 进行数据访问。我现在希望为 NHibernate 启用二级缓存。现在我正在寻找我应该为此使用哪个 CacheProvider。有人可以给我一个提示吗?也许带有安装/配置教程的链接?谢谢你。

最好的问候,托马斯

0 投票
3 回答
2986 浏览

c# - 是否可以通过 C# 访问 CPU 缓存(读写)?

我想知道 C# 中是否有实现的东西允许访问 CPU 缓存。这对我来说很有趣,但目前我与 cpu 缓存无关。所以我想知道它是系统限制访问还是用户也可以使用。我说的是 L1/L2 或其他任何名称!

很高兴听到您的评论、外部链接以及一些代码片段!谢谢。