【发布时间】:2019-05-14 00:24:27
【问题描述】:
我有一个 Spring Boot 应用程序,它向外部 Web 服务发出大量请求。我在很多地方都使用@Cacheable 注释来缓存请求。我试图弄清楚如何在“每个请求”的基础上缓存请求。即:
假设我有以下调用外部服务的方法:
@Cacheable
private List<Product> listProducts(String orgCode, String channel, String userToken) {
return externalService.listProducts(orgCode, channel, userToken);
}
当一个请求进入我的 Spring 应用程序时,它会调用 listProducts 方法 5 次。外部服务只调用一次,缓存结果用于其他 4 次调用。
现在另一个请求进来了,并再次调用listProducts。返回之前缓存的结果。但是,由于这是对我的应用程序的新请求,我想刷新结果。
我觉得@Cacheable 有一个我找不到的参数。
【问题讨论】:
标签: java spring spring-boot caching