问题标签 [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.
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缓存中存储数据的方式-
spring-boot - Autowire CacheManger (Caffeine & Ehcache) 不使用@SpringBootApplication
我有一个常见的缓存模块,它具有 spring boot 启动器缓存(版本 2.2.4.RELEASE),并且缓存具有 ehcache 和咖啡因的依赖项。下面是pom文件
在这个模块中,自动装配了 CacheManger 并使用 spring 缓存具有缓存更新和获取方法。
此模块作为依赖项添加到作为 springboot 应用程序的 app1 中,并且根据属性“spring.cache.type”,当 app1 启动时,它将初始化相应的缓存
对于咖啡因缓存
对于 Ehcache3
这对于springboot应用程序app1来说一切正常。
现在我在 app2 中使用相同的缓存模块,它的功能与 app1 相同,但它不是 springboot 应用程序。在 app2 中使用 @Configuration 、 @ComponentScan 来解决依赖关系。现在 app2 被用在 app3 中,它是 springboot 应用程序。除了 cacheManger 之外,所有其他依赖项都已解决并在 app3 中正常工作。运行 app3 时出现以下错误
如果我在公共缓存模块中创建 bean,如下所示
但我想避免在公共模块中创建 bean。app2 中是否需要任何注释/配置(不更改 app3,因为在 app3 上没有任何更新控制),以便它也可以像在 app1 中一样工作)?
nestjs - 如何从 NestJS CacheManager 模块获取 redis io 客户端
我目前正在使用 NestJS 的缓存管理器模块,我想知道为什么我不能像这样获得 NodeRedis 客户端:
我收到此错误:
我在注册 CacheModule 时确实配置了 cache-manager-redis-store,然后我想我可以获得客户端。
java - 带有 Spring Boot 问题的 Ehcache 3.8
如何
<ehcache:eviction-advisor>
在 ehcache.xml 文件中将 ehcache3 配置为“LFU”?如何实施public boolean adviseAgainstEviction(Object o, Object o2)
有EvictionAdvisor
LFU 驱逐政策?似乎 Spring 应用程序没有引用 ehcache.xml,即使该文件位于资源文件夹中,并且 application.properties 具有
spring.cache.jcache.config=classpath:ehcache.xml
.进入 时
AbstractCacheResolver
,我看到的cacheManager
是运行此代码时得到的,ConcurrentMapCacheManager
而不是我得到的:EhcacheManager
- 如何确保我使用的是
EhcacheManager
而不是使用ConcurrentMapCacheManager
?
应用程序属性:
spring.cache.jcache.config=classpath:ehcache.xml
,
也试过:spring.cache.ehcache.config=classpath:ehcache.xml
pom.xml:
ehcache.xml:
java - EhCache 3.9 -- 获取所有缓存条目(在 EhCache 2.10 中工作)
以下用于获取所有缓存的代码在 2.10 (net.sf.ehcache.*) 中工作
如何在 EhCache 3.9 (org.ehcache.*) 中实现相同的功能?我至少有 2 种不同类型的实体被缓存。我尝试查看https://stackoverflow.com/a/50389398/4669619但这对我不起作用。到目前为止,我已经替换Element
为Object
.
Element
在 2.x 示例中可以适用于任何/所有实体。它在 3.x 中不可用,所以我尝试Object
改用Ehcache
在 3.x 中也不可用,因此我无法将结果存储((EhCacheCache) cache).getNativeCache();
在其中Ehcache
在 3.x 中不可用意味着getAll
功能不可用
任何建议/想法将不胜感激!