编程语言
首页 > 编程语言> > 如何在Java Spring应用程序中缓存使用Netflix的Feign库进行的HTTP请求

如何在Java Spring应用程序中缓存使用Netflix的Feign库进行的HTTP请求

作者:互联网

在使用Netflix的Feign向服务发出HTTP请求的Spring启动应用程序中,是否有一种简单的方法可以自动缓存和返回这些缓存的值?缓存应基于传递给请求的参数(类似于记忆X分钟的函数).

我正在寻找下面的@Cache注释:

@Component
@FeignClient(value = "facebook", url = "${auth.facebook.url}")
public interface FacebookClient {
    @Cache(600) // Something like this.
    @RequestMapping(method = RequestMethod.GET, value = "/debug_token?input_token={input_token}&access_token={access_token}")
    Map debugToken(@PathVariable("input_token") String inputToken, @PathVariable("access_token") String appToken);
}

当然我可以使用围绕FacebookClient的装饰器自己缓存它,我想知道是否有更快/更少的代码方式.

解决方法:

Springs @Cacheable可以满足您的需求.

检查:Caching Data with Spring

标签:caching,spring,spring-cloud-feign,netflix-feign,spring-cloud-netflix
来源: https://codeday.me/bug/20190623/1269228.html