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

spring-boot - 如何删除整个缓存,然后预填充缓存?

有人可以告诉我下面的实现有什么问题。我正在尝试删除整个缓存,其次,我想预填充/填充缓存。但是,当执行这两种方法时,我在下面仅删除两个缓存,而不是预填充/启动缓存。任何想法?

我有 spring boot 应用程序(v1.4.0),更重要的是,利用以下依赖项:

0 投票
1 回答
753 浏览

java - 实现自定义 EhCache

我们要求每个 userId-sessionID 对最多缓存 2 个类别的请求。我们计划将 EhCache 用于这种方法。该项目是一个弹簧启动应用程序。

问题是当每个用户和会话 ID 对可能有多个类别时,如何将限制设置为每个 userID-sessionId 最多 2 个缓存元素?
一种方法: 设置 sessionId 和 userID 的部分键,并创建一个自定义缓存,每个 sessionID-userID 键最多可以接受两个值。EhCache 如何支持自定义缓存?
还有其他方法吗?

0 投票
2 回答
162 浏览

ehcache - 如何获取现有缓存的 MemoryStore 中的所有元素 [EHCache]

我是 EHCache 的新手。我已经为我的应用程序实现了 EHCache。我已经配置了所有缓存配置。我发现在我的缓存的 MemoryStore 中存在一定数量的元素。我想将它们全部取出以进行进一步操作。任何人都可以帮助我了解如何访问我现有缓存的 MemoryStore 中的元素。

先感谢您。

0 投票
1 回答
56 浏览

java - 在 Ehcache3 中是否可以在 Expiry 的自定义实现中访问 TTL

当缓存即将到期并且下游服务(我从中读取对象并加载到cahce)关闭时,我正在尝试扩展TTL。

我不想每次都检查下游服务是否关闭,因为它会减慢我们的速度。

那么我们可以在 Expiry 的自定义实现中访问 TTL 吗?

0 投票
1 回答
8897 浏览

java - EhCache 3 和 Spring Boot

有没有办法将 EhCache 3 CacheManager ( org.ehcache.CacheManager) 抽象为 Spring 的 CacheManager ( org.springframework.cache.CacheManager)?

使用 EhCache2,可以通过以下方式:

提示:我找到了一种将 cacheManager 抽象为javax.cache.CacheManagerSpring 的 CacheManager ( org.springframework.cache.CacheManager) 的方法,方法是:

如果有办法投射org.ehcache.CacheManagerjavax.cache.CacheManager.

谢谢。

0 投票
2 回答
2993 浏览

spring - Spring 4.2.4(不使用 Spring Boot)+ EhCache 3 + Hibernate 4.2.1

有没有人用 Spring 4.2(不使用 Spring boot)实现 EhCache 3。如果是这样,实施该步骤的步骤是什么?

问题是 spring-context-support (它添加了 Spring 的缓存注释)期望 Ehcache 的 CacheManager 在这个类路径上:net.sf.ehcache.CacheManager

但是,在 Ehcache 3 中,CacheManager 类驻留在另一个类路径中:org.ehcache.CacheManager。

因此,基本上 spring-context-support 不支持 Ehcache 3。您必须直接使用 JSR-107 注释,而不是 Spring 提供的注释。

如果有人实现了这个组合,请给你ehcache.xml和spring配置供参考。

0 投票
5 回答
10542 浏览

spring - Spring 框架 5 和 EhCache 3.5

我尝试在基于 Spring Boot 2/Spring Framework 5 的 Web 应用程序中使用 EhCache 3.5 缓存功能。

我添加了 EHCache 依赖项:

然后在 src/main/resources 文件夹中创建 ehcache.xml 文件:

Spring 5 参考指南没有提到 EHCache 的使用,Spring 4 参考指南指出:“Ehcache 3.x 完全符合 JSR-107,不需要专门的支持。”

所以我创建了控制器 OrderController 和 REST 端点:

春季启动配置:

但是当我调用这个端点时,我得到了一个异常:

无法为 Builder[public org.Order org.OrderController.findById(int)] 找到名为“orders”的缓存 键='' | 密钥生成器='' | 缓存管理器='' | 缓存解析器='' | 条件='' | 除非='' | 同步='假'

然后我尝试使用 Spring Framework 4 中的示例:

但由于异常而无法编译:

类型 net.sf.ehcache.CacheManager 无法解析。它是从所需的 .class 文件中间接引用的

请指教。

0 投票
2 回答
2541 浏览

hibernate - java.lang.annotation.IncompleteAnnotationException:org.terracotta.statistics.Statistic 缺少元素类型

我的项目有休眠 l2 缓存并使用 ehcache 通过此配置进行管理

hibernate.cache.region.factory_class:org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory

迁移到 Spring boot 2 后,我得到了这个异常

问了一些问题后,我发现 ehcache 2x 和 3 x 在我的项目中都有,异常原因是这样,但是当排除 2x 时,请参阅 spring 需要启动 2 x。如何解决这个问题

0 投票
1 回答
586 浏览

spring-mvc - EHCache+Tomcat+Terracota+Jsr107+Spring+@CacheEvict(allEntries=true) = UnsupportedOperationException: 实现我

我设法将 EhCache 与 Terracota 一起用于分布式集群(项目位于https://github.com/ehcache/ehcache3/releases/download/v3.4.0/ehcache-clustered-3.4.0-kit.zip)并进行了 Spring 配置集成如:

然后,在管理器上:

缓存似乎工作正常。在测试(Junit 或手动启动 tomcat)时,findAll 和 findById 函数在第一次尝试后会加速很多。

但是在尝试保存时,出现异常:

这里有什么想法吗?非常感谢您提前。

0 投票
3 回答
9963 浏览

java - EHCache 3.5 获取所有缓存键/条目

我正在使用 EHCache 3.5.2 并且无法获取所有缓存键和缓存条目。

我正在使用 CacheManager 创建缓存。然后我用一些数据填充它。然后我想检索缓存中的所有条目。

一些示例代码:

v3.5可以做到这一点吗?在旧版本的 EHCache 中似乎是可能的。

谢谢