问题标签 [ehcache]

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 投票
2 回答
851 浏览

java - 休眠 - 从 EHCache 到 TreeCache 的 maxElementsOnDisk

我正在将 Hibernate 应用程序的缓存从 EHCache 迁移到 JBoss TreeCache。我正在尝试找到如何配置等效于 maxElementsOnDisk 以限制磁盘上的缓存大小,但我找不到任何类似于在激活钝化的 FileCacheLoader 中配置的东西。

谢谢

0 投票
10 回答
27538 浏览

java - OSCache 与 EHCache

以前从未使用过这样的缓存。问题是我想从数据库中加载 500,000 多条记录并快速进行一些选择/过滤。

我正在考虑使用缓存,并初步找到了EHCacheOSCache,有什么意见吗?

0 投票
2 回答
3595 浏览

hibernate - 在 jboss 4.2.1 中启用 ehcache 统计信息

我已经设置了 hibernate.generate_statistics=true 并且现在需要注册 mbean 以便我可以在 jmx 控制台中看到统计信息。我似乎无处可去,这似乎不应该是一个如此困难的问题。也许我让事情变得过于复杂,但无论如何到目前为止我已经尝试过:

  • 我复制了 EhCacheProvider 并让它实例化了 CacheManager 的扩展版本,该版本重载了 init() 并在初始化后调用了 ManagementService.registerMBeans(...) 。在实际调用 registerMBeans(...) 之前,代码都运行良好,这将导致提供程序初始化失败并出现一般错误(不幸的是我没有写下来。)这种方法的动机是this liferay中使用的方法性能演练。
  • 我使用 start 方法创建了自己的 MBean,该方法运行与注册 ehcache 的 jmx mbeans 的示例类似的代码。一切似乎都正常工作,我的 mbean 出现在 jmx 控制台中,但 net.sf.ehcache 没有。
  • 我已经将ehcache升级到1.5(我们使用的是1.3,不确定这是特定于jboss 4.2.1还是我们自己选择的东西)并改为使用SingletonEhCacheProvider并尝试手动获取统计信息而不是处理mbean 注册。但它并没有真正变得更好。如果我调用 getInstance(),则返回的 CacheManager 仅具有 StandardQueryCache 的副本,但 jboss 日志显示许多其他缓存已被初始化(一个用于我们应用程序中的每个缓存实体。)

编辑:嗯,我已经想通了一件事......通过 JConsole 连接确实揭示了统计数据 mbean。我猜 ManagementFactory.getPlatformMBeanServer() 并没有为您提供与 jboss 使用的相同的 mbean 服务器。无论如何,看起来我遇到了与尝试手动收集统计信息时类似的问题,因为即使在单击我的应用程序一段时间后我也得到了全零。

0 投票
2 回答
2536 浏览

java - Ehcache 和 Java

我正在使用 ehCache 来存储大量数据。该缓存每秒访问大约 3 次,并且必须保持最新。我有一个运行的线程,它每分钟将缓存所需的所有数据从数据库中检索到不同的缓存中(也有不同的缓存管理器)。我想要做的是将新缓存中的数据内容复制到缓存中,该缓存每秒以快速、可靠和同步的方式被访问。(例如调用replace方法传入现有缓存和新缓存并快速安全地更新新缓存)

在ehCache中有什么办法可以做到这一点吗?

任何帮助是极大的赞赏。

谢谢达米安

0 投票
3 回答
670 浏览

java - 如何抽象出两种不同的缓存实现

我计划在我的负载平衡 web 应用程序中使用分布式缓存。所以我将尝试抽象出apache ehcache和memcached之间的共同功能。

我的目标是能够进行简单的配置切换来选择要使用的缓存解决方案。我应该走 SPI 路线,例如 XML 解析器是如何连接的吗?

0 投票
2 回答
5231 浏览

java - 从 2 个不同的 war 文件访问相同的 ehcache

我有 2 个不同的 webapps(打包成不同的 war 文件)需要通过缓存(ehcache)共享一些数据。我想和你一起测试这个想法,看看它是否有效。

我的想法是创建一个引导/访问 ehcache 并将其打包在 jar 中的服务。然后将该jar打包到两个war中:

  • WAR1:ehcache-service.jar
  • WAR2:ehcache-service.jar

ehcache 会在这样的配置下工作吗?

0 投票
2 回答
2119 浏览

java - 如何使用 spring-modules 为 OSCache 中的对象设置缓存时间?

我有一个需要一些缓存的应用程序,对于一些半静态数据,我希望它们在刷新之前在缓存中停留最长时间(例如 10 分钟)。我的系统只是检索数据,从不更新它,所以我不知道何时使用该属性刷新缓存。在 OSCache 文档中,可以使用编程 API 和 taglib 的配置来设置这样的到期时间,但 spring-modules 文档对此事没有提及。

有谁知道是否/如何做到这一点?

0 投票
0 回答
496 浏览

mysql - 例如,使用 MySQL 获取 JDBC 连接是否比使用 Derby 慢?

我用

  • 雄猫
  • C3p0(在 Tomcat 中配置的 JNDI)
  • MySQL (InnoDB) / Derby (not embedded) 作为数据库
  • EHCache(内存中)
  • 休眠
  • 测试机运行 WinXP

我使用 Derby 进行开发并想切换到 MySQL。我惊讶地发现,使用 MySQL 我的测试比使用 Derby 慢了大约 50%。

我的测试场景:

  • 大约 2000 个选择,复杂程度各不相同,但没有一个使用超过一个连接。所有 SQL 都使用索引
  • Ehcache 充满了设置运行。之后,我至少运行了 50 倍的 Testscenario 以克服优化器/GC 效应

我确认缓存正在使用中。没有真正的 SQL 进入数据库。所以我只是猜测是连接创建时间减慢了 MySQL 测试的速度。

0 投票
5 回答
3072 浏览

java - 具有大量实体的 Ehcache / Hibernate 和 RMI 复制

我目前正在研究如何在 ehcache 中使用 RMI 分发选项。我已经正确配置了 ehcache.xml 并且复制似乎工作正常。但是我有两个问题:

-> ehcache/hibernate 似乎为每个实体创建 1 个缓存。这很好,但是当复制到位时,它会创建 1 个线程/缓存来复制。这是预期的行为吗?由于我们的域很大,它创建了大约 300 个线程,这在我看来真的很大

-> 另一个令人讨厌的后果是心跳消息似乎聚合了所有这些缓存名称。从我看到的消息应该适合 1500 字节,但它不适合,这导致我的日志中出现这条消息:心跳不工作。为复制配置更少的缓存。大小为 1747 但不应大于 1500。关于如何改变的任何想法?

非常感谢你的帮助

0 投票
2 回答
5371 浏览

spring - Spring-modules 缓存不起作用...静默

我正在尝试使用 Spring Modules 项目中的声明性缓存。

它不起作用,即。似乎没有任何东西被缓存。

这是我的配置:

然后,这是 Spring 加载应用程序上下文时的日志记录......

在此之后,我点击了一个页面,该页面从“myServiceBean”bean 中调用了一个以“get”为前缀的方法。但是,没有记录任何缓存正在进行。我已经将日志记录一路调高到调试 springmodules、spring 的缓存包和 DEBUG ......因为 Spring Modules 示例在网络上很少而且相距甚远,我想知道是否有人以前看过这个......