gpt4 book ai didi

spring - 如何在Java中缓存REST API响应

转载 作者:行者123 更新时间:2023-12-04 10:14:57 25 4
gpt4 key购买 nike

我正在用Java构建应用程序。我在api中循环命中超过15000次并获得响应(响应仅是静态的)

例子

**
username in for loop
GET api.someapi/username
processing
end loop
**

完成所有通话需要几个小时。建议我以任何方式(任何缓存技术)来减少通话时间。

附言:

1) i am hitting api from java rest client(Spring resttemplate)

2) that api i am hitting is the public one, not developed by me

3) gonna deploy in heroku

最佳答案

尝试使用Springs Cache Abstraction https://docs.spring.io/spring/docs/current/spring-framework-reference/html/cache.html

您可以在具有restTemplate调用的方法中使用此抽象。

任何使用此抽象的方法调用响应都可以缓存,方法参数作为键,返回类型作为响应。

@Cacheable("username")
public UserResponse getUser(String username){
// Code to call your rest api
}

这将围绕该方法创建一个Spring AOP建议。每次调用该方法时,它都会检查高速缓存中是否有该键(用户名)可用的数据,如果是,则从高速缓存中返回响应,而不调用实际方法。如果数据在缓存中不可用,则它将调用实际方法并将数据缓存在缓存中,因此,下次使用相同的键调用同一方法时,可以从缓存中提取数据。

可以通过简单的JVM缓存(例如Guava)或更复杂的缓存实现(例如EHCache,Redis,HazelCast)来支持这种缓存抽象。

关于spring - 如何在Java中缓存REST API响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43295105/

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