问题标签 [ehcache-3]

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 回答
924 浏览

java - 如何在 Ehcache 3 中获取缓存名称列表

Ehcache 2中,我使用了

但是在Ehcache 3中,虽然我有一个 CacheManager,但 getCacheNames() 方法不存在。

0 投票
1 回答
372 浏览

java - 在 EhCache3 中,持久缓存是否意味着数据始终必须写入磁盘缓存

使用 Ehcache 3,如果我有一个持久缓存,这是否意味着即使堆/堆外缓存已满,所有内容都将写入磁盘缓存?

即我有这个

所以我正在使用这个但我已经指定了一个磁盘缓存,因为通常内存缓存是不够的,我已经指定它是持久的,因为如果数据被写入磁盘,它可能对应用程序的后续运行很有用。

但是,有时应用程序的使用方式可能会导致堆/非堆未完全使用,因此我不希望应用程序仅仅因为我已将其标记为持久性而浪费时间将数据写入磁盘。毕竟我使用缓存的原因是为了提高性能。

0 投票
1 回答
118 浏览

java - 在 EhCache3 中,我应该为所有缓存使用一个 CacheManager 还是每个缓存一个管理器

我正在使用 Ehcache 3

我有一个缓存用于存储一种类型的对象,另一个缓存用于存储不同类型的对象。它们位于不同的类中,每个类都有自己的缓存管理器。

但我现在想知道我是否误解了这些示例,让一个CacheManager管理两个不同的缓存会更有意义,或者你只是打算使用同一个 CacheManager 来管理相同类型的多个缓存。

因为这些示例喜欢将代码链接在一起,所以从文档中非常不清楚正确的方法是什么。

0 投票
1 回答
342 浏览

java - ehcache3 - 为什么缓存不会过期?

我想缓存一些我的 dao 查询。它可以工作,但缓存不会过期。我做错了什么?

我的 ehcache.xml:

在 application.properties 我有条目:

在 pom 中:

我的查询:

我预计 5 秒到期,但在这段时间(和更长)之后查询仍然被缓存。我做错了什么?

0 投票
2 回答
620 浏览

java - 如何使用编程配置在springboot中的ehcache3中设置maxDepthExceededBehavior?

我想避免达到对象的最大对象图形大小:840-错误。按照这个

此元素具有以下属性 maxDepth - 控制在大小引擎采取任何行动之前可以访问多少链接对象。此属性是必需的。maxDepthExceededBehavior – 指定在调整对象图大小时超过最大深度时会发生什么:

如何在 ehcache3 和 springboot.Using programmatic config 中设置它。我没有在 springboot 中为 ehcache 3.4 使用 xml

0 投票
1 回答
605 浏览

apache-camel - Camel Cache Time To Live for Ehcache 3 不工作

我正在使用 ehcache 3.0 和最新版本的 Apache camel。我想在 120 秒后从缓存中删除元素。

以下是我用来实现相同目的的一段代码

即使在 TTL 持续时间之后,元素仍保留在缓存中。我一直在使用它作为参考:https ://camel.apache.org/cache.html我已经坚持了一段时间了。提前致谢。

0 投票
0 回答
300 浏览

hibernate - Hibernate + jcache + ehcache 集成不工作

在我的应用程序中,我想通过使用启用二级缓存Hibernate 5.4EHCache 3.7但我收到此错误

我正在使用的依赖项:

以及二级缓存的配置:

0 投票
1 回答
176 浏览

java - 如何切换到 ehcache 3 的 TickingTimeSource?

下面是ehcache的配置,

假设我们使用的是 ehcache 版本 3.7

  1. 问题是:如何切换到 TickingTimeSource,如 ehcache 文档中所述

到目前为止完成的作业:-

  • 试图在 ehcache xsd 文件中搜索 TickingTimeSource 的配置标签 --> 到目前为止没有任何线索。
  • 在 ehcache 3 代码库中搜索 TickingTimeSource 切换以获取 github 中的示例代码 --> 到目前为止没有任何线索。
  • 只是试图在新的 ehcache 3 上使用配置来压缩性能。发现 ehcache 3 不支持 LRU 驱逐策略。有 AgainstEvictionAdvisor (防止驱逐的逻辑,我猜这对性能没有帮助)
  • 在 ehcache 谷歌组中检查了类似查询的答案 -> 到目前为止没有答案
  • 检查来自 github 的示例 ehcache 配置 gists 文件 -> 目前未找到 TickingTimeSource 的相关配置。
  • 是否在使用 ehcache 的地方进行了 java 代码调试并检查内部变量/对象并搜索设置 TimeSource - 这可能会提供注入 TickingTimeSource 的线索。发现 TimeSource 需要在内部 Store 对象( JSR107Store 或 ehcacheStore )中设置,但它没有提供直接设置时间源的api。
0 投票
1 回答
603 浏览

spring-security - 带有 EhCache 3 的 Spring Security ACL

我尝试更新到 EhCache 3,但注意到我的 spring-security-acl 的 AclConfig 不再有效。原因EhCacheBasedAclCache仍然是使用import net.sf.ehcache.Ehcache。EhCacheorg.ehcache从版本 3 开始移动,因此不再有效。spring 是否为 EhCache 3 提供了替代类,或者我需要实现自己的 Acl Cache?这是代码,不再有效:

0 投票
1 回答
72 浏览

ehcache - 在缓存中添加新条目时,磁盘存储放置似乎不是异步的

我已经使用 OnHeap 和 Disk 设置了 EHcache 3 配置。但是,似乎在添加新条目时,put 会通过磁盘存储(这是正常的),但不是以异步方式。这极大地影响了我在看跌期权上的表现。我错过了什么还是正常行为?拥有磁盘层时如何提高放置性能?

ResourcePoolsBuilder poolBuilder = ResourcePoolsBuilder.newResourcePoolsBuilder().heap(heapSize, MemoryUnit.MB); poolBuilder = poolBuilder.disk(diskSize, MemoryUnit.MB, false);

谢谢你的帮助