问题标签 [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 投票
3 回答
3701 浏览

tomcat - 如何使用 ssh 隧道远程连接到 tomcat 上的 jmx 而不会破坏 ehcache

我已按照以下链接中的说明在 tomcat 内的单个端口上创建自己的 RMI 注册表和 jmx 服务器。根据评论,我需要设置-Djava.rmi.server.hostname=localhost。一旦我这样做了,我确实可以使用 ssh 端口转发通过 jconsole 连接到我的服务器。

http://blogs.oracle.com/jmxetc/entry/connecting_through_firewall_using_jmx

但是,我发现它具有破坏使用 RMI 的 ehcache 复制的非常糟糕的副作用。它无法抱怨它无法从远程对等 localhost 引导。我猜是因为对等方都通过设置-Djava.rmi.server.hostname=localhost 将他们的rmi 服务器主机名设置为localhost。

有没有人可以解决这个问题?

0 投票
1 回答
3129 浏览

java - 在 Ehcache 中设置刷新策略

有没有在Ehcache中指定数据刷新策略?我目前正在将应用程序从OSCache迁移到 Ehcache,除了设置timeToIdletimeToLive.

我想要的是:在从缓存中访问一个元素时,检查它的关联资源,看看它是否比lastUpdateTime缓存元素的更新晚。如果是,刷新缓存;否则从缓存中提供内容。

在 OSCache 中,这是通过捕获NeedsRefreshExceptions 并为元素设置自定义刷新策略来完成的。我已经在文档中搜索了一段时间,但是我找不到任何方法或示例来说明如何在 Ehcache 中完成此操作。

任何帮助,将不胜感激 :)。

亚历克斯

0 投票
3 回答
3304 浏览

java - 写后缓存 Ehcache 新特性?

我正在寻找有关如何在 ehcache 中使用此新功能 write-behind-cache 的指南/文档/教程?spring+jpa+ehcache+hibernate有没有demo?

只是为了澄清,write-behind-cache 意味着每次我们持久化实体时,它都会被写入缓存而不是数据库,对吗?

0 投票
1 回答
772 浏览

hibernate - 使 ehcache 对测试代码进行读写,对生产代码进行只读

我想注释我的许多包含参考数据和/或配置数据的 Hibernate 实体

但是,我的 JUnit 测试正在使用 Hibernate 实体设置和拆除这些参考/配置数据。是否有推荐的方法让实体在测试设置和拆卸期间进行读写,但对生产代码来说是只读的?

我对非理想解决方法的两个直接想法是:

  • 使用 NONSTRICT_READ_WRITE,但我不确定隐藏的缺点是什么。
  • 在我的测试代码中创建子类实体以覆盖只读缓存注释。

有关处理此问题的最干净方法的任何建议?

(注意:项目使用 maven。)

0 投票
2 回答
2539 浏览

hibernate - 多个 Grails 应用程序创建 Ehcache 冲突

我在我的一台服务器上运行多个 Grails 应用程序。我正在使用 Grails 1.2.2。我在 DataSource.groovy 中使用默认缓存配置。当我尝试运行两个 Grails 应用程序时,它们似乎都在使用/写入:

/tmp/org.hibernate.cache.UpdateTimestampsCache.data

当我查看如何使用此页面中的 ehcache.xml 文件自定义 Ehcache 时:

http://ehcache.org/documentation/grails.html

我没有看到有关指定位置和/或名称或临时文件的任何信息。

在同一台服务器上运行多个 Grails 应用程序(不关闭缓存)时,如何避免此问题?

澄清:参考迪帕克的回答

由于我将其部署为战争,这是否是我将添加到 Config.groovy 的环境块中的示例?

0 投票
2 回答
1673 浏览

performance - 将 Ehcache 与 Hibernate 一起使用时速度没有提高

将 Ehcache 与 Hibernate 一起使用时,我的速度没有任何提高

这是我在下面运行测试时得到的结果。测试正在读取 80 个 Stop 对象,然后再次使用缓存读取相同的 80 个 Stop 对象。

在第二次读取时,它会命中缓存,但速度没有提高。关于我做错了什么有什么想法吗?

Speed Test:

Cache Info:

JunitCacheTest

HibernateStopDao

ehcache.xml

停止.hbm.xml

停止

0 投票
3 回答
2707 浏览

hibernate - Grails / GORM,禁用一级缓存

假设我有以下域类映射到旧表,利用只读二级缓存,并具有瞬态字段:

我有一个问题,对 DomainObject 的引用由于一级缓存而被共享,因此瞬态字段正在相互写入。例如,

也就是说,r1 和 r2 是对同一实例的引用。这是不可取的,我想缓存表数据而不共享引用。有任何想法吗?

[编辑]

现在更好地了解情况,我相信我的问题归结为以下几点:是否仍然在使用二级缓存的同时禁用特定域类的一级缓存?

[编辑]

由于似乎没有明确的方法来获得此目标,因此我们选择围绕对它的需求进行重新设计。

0 投票
2 回答
106 浏览

java - 程序化缓存创建

我从 xml 切换到以编程方式创建缓存,现在我无法按名称检索我的缓存。

这是一个代码片段,显示了我在做什么也许你可以发现一个明显的错误?

http://gist.github.com/405546

(我在这里只显示相关行)。

0 投票
3 回答
4566 浏览

mysql - NoSQL 或 Ehcache 缓存?

我正在使用 Spring/Hibernate/Tomcat 和 mysql 数据库构建 Route Planner Webapp,我有一个包含只读数据的数据库,例如巴士站坐标、巴士时间,这些数据永远不会更新。我试图让应用程序运行得更快,每次应用程序运行时,它都会对数据库进行大约 1000 次读取以计算路线。

我已经设置了一个 Ehcache,它极大地改善了从数据库读取的时间。我现在正在设置 terracotta + Ehcache 分布式缓存以与多个 Tomcat JVM 共享缓存。这似乎有点复杂。我已经尝试过 memcached,但它的执行速度不如 ehcache。

我想知道 MongoDb 或 Redis 是否更适合。我没有使用 nosql 的经验,但如果有人有任何想法,我将不胜感激。我需要的是快速访问只读数据库。

0 投票
2 回答
1678 浏览

junit - Ehcache 在测试中挂起

我正在重写我所在项目的代码中的瓶颈,这样做我正在创建一个包含自填充 Ehcache 的顶级项目。我正在尝试编写一个测试以确保建立基本调用链,但是当测试执行时,它会在从缓存中检索项目时进行。

以下是设置和测试,以供参考使用 Mockito 进行模拟:

这是服务类

这是响应工厂: