15得票5回答
如何更新/删除已经在项目集合中缓存的项目

我正在使用Spring和EhCache。我有以下方法:@Override @Cacheable(value="products", key="#root.target.PRODUCTS") public Set<Product> findAll() { return new...

15得票4回答
Spring的@Cacheable会在被多个线程访问时阻塞吗?

如果一个方法被标记为@Cacheable,需要10分钟才能完成,并且有两个线程t1、t2访问该方法。 t1在时间0访问(缓存方法现在是第一次运行) t2在时间t1+5分钟访问 这是否意味着t2不会访问数据,因为t1已经开始@Cacheable操作,并且由于它已运行了5分钟,将在5分钟后完成...

14得票1回答
接口方法上的缓存注解

假设我有Spring Data存储库并在findAll方法上放置Cacheable注释:@Repository @CacheConfig(cacheNames = TEMPLATE_CACHE) public interface TemplateRepository extends JpaRe...

13得票4回答
在没有输入参数的方法上使用@Cachable?

我遇到了一个关于@org.springframework.cache.annotation.Cacheable 注解的问题: Translated: I'm having a problem with @org.springframework.cache.annotation.Cacheab...

13得票3回答
使用Spring Cache缓存Java 8 Optional类型数据

我有一个方法:@Cacheable(key = "#jobId") public Optional<JobInfo> getJobById(String jobId) { log.info("Querying for job " + jobId); counterS...

13得票5回答
反序列化PageImpl时出错:无法构建`org.springframework.data.domain.PageImpl`的实例。

使用Spring cache和redis缓存管理器时存在问题,由于没有默认构造函数,无法反序列化Spring Pageable响应。所使用的Spring Boot版本为2.1.4.RELEASE。使用序列化程序的Redis配置类。@Bean public RedisCacheManager r...

13得票2回答
为什么这个流和lambda表达式不能与SpEL声明一起使用?

我试图在Spring的@Cache注解中使用Java 8的Stream和Lambda表达式。 我尝试使用以下内容:@CacheEvict(value = "tags", allEntries = true, condition = "#entity.getTags().stream().a...

12得票2回答
如何在Java中缓存REST API响应

我正在使用Java构建一个应用程序。在循环中,我调用API超过15000次并获得响应(响应仅为静态内容)。 示例** username in for loop GET api.someapi/username processing end loop ** 完成所有电话需...

11得票3回答
如何让Spring缓存存储ResponseBody而不是中间对象

我在这个方法中使用了Spring缓存,它将查询到的值作为JSON返回:@RequestMapping("/getById") @ResponseBody @Cacheable public HugeValue getHugeValueFromSlowFoo( @RequestParam(val...

11得票2回答
使用Spring缓存抽象实现异步缓存更新

如何在Spring的缓存抽象中使一个缓存项异步地进行刷新,同时仍然返回旧值? 我正试图使用Spring的缓存抽象创建一个缓存系统,在相对较短的“软”超时之后,缓存条目将变得可刷新。然后,在查询它们时,将返回缓存值,并启动异步更新操作以刷新条目。我还希望: Guava的缓存生成器允许我指定缓存...