gpt4 book ai didi

java - 设置 spring @cacheable 缓存 10 秒

转载 作者:行者123 更新时间:2023-11-29 05:35:10 25 4
gpt4 key购买 nike

我正在使用 Spring 框架 3.2.4 编写一个 java 项目。

我有很多 SQL 查询需要缓存 10 秒。

我知道使用 @cacheable 注释我可以缓存函数结果。

我不明白的是如何只缓存10秒。我知道您可以向可缓存注释添加条件,但我很难弄清楚如何向这些条件添加计时。

如有任何有关此问题的信息,我们将不胜感激。

最佳答案

您可以使用 Scheduler 定期调用服务方法来清除缓存。

调度器:

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.beans.factory.annotation.Autowired;

public class Scheduler {

@Autowired
private SomeService someService;

@Scheduled(fixedRate = 10000)
public void evictCaches() {
someService.evictCaches();
}
}

服务:

import org.springframework.cache.annotation.CacheEvict;
import org.springframework.transaction.annotation.Transactional;

@Service
@Transactional
public class SomeService {

@CacheEvict(value = { "cache1", "cache2" }, allEntries = true)
public void evictAllCaches() {
}
}

关于java - 设置 spring @cacheable 缓存 10 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19768481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com