问题标签 [cachemanager]

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

spring - 没有指定 CacheResolver,也没有找到 CacheManager 类型的唯一 bean

我试图在我的 Spring Boot 应用程序中使用两种不同类型的缓存,基于称为 I hvae 的 Rest API 将数据存储在我的缓存中。但是在项目部署阶段,我遇到了错误。

[main] 错误 osboot.SpringApplication - 应用程序启动失败 2020-06-30T11:15:17.05+0530 [APP/PROC/WEB/0] OUT java.lang.IllegalStateException: 没有指定 CacheResolver,也没有找到 CacheManager 类型的唯一 bean . 将一个标记为主要(或将其命名为“cacheManager”)或声明要使用的特定 CacheManager,作为默认值。

我可以在一个缓存管理器上指定@Primary 吗?我希望它不会停止将数据存储到另一个缓存中。还是他们这样做的更好方法?

CacheConfig.java

这就是我在redis缓存中存储数据的方式-

0 投票
1 回答
1704 浏览

spring-boot - Autowire CacheManger (Caffeine & Ehcache) 不使用@SpringBootApplication

我有一个常见的缓存模块,它具有 spring boot 启动器缓存(版本 2.2.4.RELEASE),并且缓存具有 ehcache 和咖啡因的依赖项。下面是pom文件

在这个模块中,自动装配了 CacheManger 并使用 spring 缓存具有缓存更新和获取方法。

此模块作为依赖项添加到作为 springboot 应用程序的 app1 中,并且根据属性“spring.cache.type”,当 app1 启动时,它将初始化相应的缓存

对于咖啡因缓存

对于 Ehcache3

这对于s​​pringboot应用程序app1来说一切正常。

现在我在 app2 中使用相同的缓存模块,它的功能与 app1 相同,但它不是 springboot 应用程序。在 app2 中使用 @Configuration 、 @ComponentScan 来解决依赖关系。现在 app2 被用在 app3 中,它是 springboot 应用程序。除了 cacheManger 之外,所有其他依赖项都已解决并在 app3 中正常工作。运行 app3 时出现以下错误

如果我在公共缓存模块中创建 bean,如下所示

但我想避免在公共模块中创建 bean。app2 中是否需要任何注释/配置(不更改 app3,因为在 app3 上没有任何更新控制),以便它也可以像在 app1 中一样工作)?

0 投票
1 回答
1043 浏览

nestjs - 如何从 NestJS CacheManager 模块获取 redis io 客户端

我目前正在使用 NestJS 的缓存管理器模块,我想知道为什么我不能像这样获得 NodeRedis 客户端:

我收到此错误:

我在注册 CacheModule 时确实配置了 cache-manager-redis-store,然后我想我可以获得客户端。

0 投票
0 回答
101 浏览

java - 带有 Spring Boot 问题的 Ehcache 3.8

  1. 如何 <ehcache:eviction-advisor>在 ehcache.xml 文件中将 ehcache3 配置为“LFU”?如何实施public boolean adviseAgainstEviction(Object o, Object o2)EvictionAdvisorLFU 驱逐政策?

  2. 似乎 Spring 应用程序没有引用 ehcache.xml,即使该文件位于资源文件夹中,并且 application.properties 具有spring.cache.jcache.config=classpath:ehcache.xml.

  3. 进入 时AbstractCacheResolver,我看到的cacheManager是运行此代码时得到的,ConcurrentMapCacheManager而不是我得到的:EhcacheManager

  1. 如何确保我使用的是EhcacheManager而不是使用ConcurrentMapCacheManager

应用程序属性: spring.cache.jcache.config=classpath:ehcache.xml

也试过:spring.cache.ehcache.config=classpath:ehcache.xml

pom.xml:

ehcache.xml:

0 投票
0 回答
67 浏览

java - EhCache 3.9 -- 获取所有缓存条目(在 EhCache 2.10 中工作)

以下用于获取所有缓存的代码在 2.10 (net.sf.ehcache.*) 中工作

如何在 EhCache 3.9 (org.ehcache.*) 中实现相同的功能?我至少有 2 种不同类型的实体被缓存。我尝试查看https://stackoverflow.com/a/50389398/4669619但这对我不起作用。到目前为止,我已经替换ElementObject.

  • Element在 2.x 示例中可以适用于任何/所有实体。它在 3.x 中不可用,所以我尝试Object改用
  • Ehcache在 3.x 中也不可用,因此我无法将结果存储((EhCacheCache) cache).getNativeCache();在其中
  • Ehcache在 3.x 中不可用意味着getAll功能不可用

任何建议/想法将不胜感激!