将数据存储在BEAN(Spring Boot REST)
我正在用Spring Boot创建一个REST API。 大部分数据来自数据库,但有些数据是从第三方API获取的。 问题是其中一些有访问限制,如每分钟最多10个请求或什么的。 现在我正在寻找一种方法来缓存我的Spring应用程序中的数据,并且每隔几秒只更新一次。 将其存储在数据库中并每10秒更新一次,因为获取的数据大约有1000行,所以这个数据太多了。 所以我想我只是把它存储在我的服务bean中。
这是我迄今的做法。 (在Kotlin编码)
@Service class MyService(){ var myData: CustomDataObject fun getData() = myData fun updateData(){ // call API and store in myData Object } }
它的作品,但似乎有点哈克我。 不是一个干净的解决方案,是吗? 如果有人有更好的方法,我会非常感激。
那么,对我来说,答案是非常明显的:使用Spring Cache 。
- 在方法上添加@Transactional后,这个类(服务)不能Autowired bean(仓库)?
- spring.config.location不能在spring引导2.0.0 M6上工作
- Spring不能处理返回通用内部Kotlin类的方法
- 使用Kotlin的Spring Boot 2.0.0.M2应用程序的UnsatisfiedDependencyException
- 从`.properties`文件中检索值 lateinit属性尚未初始化
- Kotlin编译器抱怨在属性定义中使用SPeL表达式。 为什么?
- Kotlin&Spring Boot @ConfigurationProperties
- WebFlux功能:如何检测一个空的通量并返回404?