问题标签 [spring-cache]

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

java - 如何让弹簧缓存存储 ResponseBody 而不是中间对象

我使用带有这种方法的spring缓存,它以JSON形式返回查询值:

这可以正常工作,并且 HugeValue 对象存储在缓存中(在本例中为 Hazelcast)。我想进一步改进这一点,因为从 HugeValue 创建 JSON 所需的时间非常长。我可以告诉 spring 缓存缓存我的对象的 JSON 化版本吗?

我将 Jackson 与 Spring Boot 1.2 和 Spring 4.1 一起使用

0 投票
7 回答
35597 浏览

java - 如何在春季启动时加载@Cache?

我正在使用 spring-cache 来改进数据库查询,效果如下:

但现在我想在启动时预先填充完整的图书缓存。这意味着我想调用dao.findAll()并将所有值放入缓存中。该例程应仅定期安排。

但是在使用时如何显式填充缓存@Cacheable

0 投票
8 回答
66670 浏览

java - 过期时间@cacheable spring boot

我已经实现了一个缓存,现在我想添加一个到期时间。

如何在 spring boot 中设置到期时间@Cacheable

这是一个代码片段:

0 投票
1 回答
249 浏览

caching - OSGi 环境中的 Spring 抽象缓存

我在使 Spring Cache 在 OSGi 环境中工作时遇到问题。也许你可以告诉我我错过了什么。

我已成功配置 Spring Cache 以在测试期间工作,例如

选择执行一次,然后我有 5 个漂亮的打印件。

但是我不能让它在一个包中工作

Cacheable 注释似乎被忽略了。每次我调用 dictionary.getSourceDomains() 时都会执行查询。我使用 ServiceMix 5.3.0 作为容器。

我的配置:

字典:

和道

我试过的

  • 将 @Cacheable 注释移动到 DictionaryDao(接口)、DictionaryImpl 或 Dictionary(接口)——没有效果。
  • 使用不同的缓存实现(ehcache 而不是 JDK ConcurrentMap-based Cache)- 没有效果
0 投票
1 回答
174 浏览

spring - 为什么spring框架参考文档在他们的图中缺少上下文支持

图[2.1。Spring Framework 参考 4.1.4中的 Spring Framework 概述],自上一个文档以来已更新,但缺少 spring-context-support。在他们提到的图中,context 也代表 spring-context-support,但实际上这是完全独立的。尽管根据文档,它声明它是核心容器之一,但我很好奇这是否只是他们的错误,或者他们在国际上这样做了。

0 投票
1 回答
77 浏览

caching - infinispan 热棒延迟

我们在我们的应用程序中使用 infinispan 热棒。有时从缓存中检索需要更多时间。这种情况并非始终如一。大部分时间需要 6m 秒,但有时需要很长时间(200 毫秒)。

从缓存中检索到的对象大小约为 200 字节。

我们在 infinispn 5.2.1 和 JDG 6.3.2 中都进行了测试

有人遇到过这个问题吗?

谢谢

生活

0 投票
3 回答
5233 浏览

java - 在 @PostConstruct 期间使用 @Cacheable 的 Spring 缓存不起作用

与 spring 框架中的提交有关https://github.com/spring-projects/spring-framework/commit/5aefcc802ef05abc51bbfbeb4a78b3032ff9eee3

初始化设置为从afterPropertiesSet()afterSingletonsInstantiated()的后期阶段

简而言之:这可以防止缓存在 @PostConstruct 用例中使用时起作用。

更长的版本:这可以防止您使用的用例

  1. 在 methodB 上使用 @Cacheable 创建 serviceB

  2. 使用@PostConstruct 调用 serviceB.methodB 创建 serviceA

    /li>

这导致 org.springframework.cache.interceptor.CacheAspectSupport 现在没有被初始化,因此没有缓存结果。

我的解决方法是手动调用初始化方法:

这当然解决了我的问题,但除了被调用 2 次(1 次手动和 1 次按预期由框架调用)之外,它是否有副作用

我的问题是:“这是一个安全的解决方法吗,因为最初的提交者似乎只使用 afterPropertiesSet() 有问题”

0 投票
1 回答
3962 浏览

spring-cache - Spring缓存常量作为键

作为我的代码的一部分,我有一个带有空参数的方法。例如,

我想添加一个@Cacheable,其键为'masterdata'。我尝试了以下方法,但它会查找名为“masterdata”的 bean。我试过了@Cacheable(cache="master", key="masterdata")

如果我离开 key 属性,我知道它需要作为空键。但我想明确给出一个常量作为键。

有没有办法做到这一点?

0 投票
1 回答
2136 浏览

spring - 设置过滤器 bean 时插入了重复的 Cache-Control 标头

我设置了一个过滤器 bean 来插入和重置Cache-Control标题。这工作正常,除了在过滤器之后的一点点,Cache-Control正在插入额外的标题。

我正在与Spring Boot. 关于可能导致问题的任何解决方案?

查看重复的Cache-Control标题:

0 投票
2 回答
12101 浏览

java - Spring 可缓存不同步

我有一个单例类(@Service 注释)。这个类有一个需要 200/300ms 执行的方法。

此方法使用 @Cacheable 注释并同步。

通过启动多个调用此方法的线程,我看到对于这 200/300 毫秒,直到结果未被缓存,它会一次又一次地执行该方法,直到被缓存。似乎@Cacheable 注释没有考虑同步......这是一个错误吗?