2017-08-21 3 views
0

Ich erstelle eine REST API mit Spring Boot. Die meisten Daten stammen aus einer Datenbank, einige Daten werden jedoch von APIs von Drittanbietern abgerufen. Das Problem ist, einige von ihnen haben Zugriffsbeschränkungen wie maximal 10 Anfragen pro Minute oder so. Jetzt suche ich nach einer Methode, um die Daten in meiner Federanwendung zwischenzuspeichern und nur alle paar Sekunden zu aktualisieren. Speichern Sie es in der Datenbank und aktualisieren Sie es alle 10 Sekunden ist ein bisschen zu viel, da die abgerufenen Daten etwa 1000 Zeilen sind. Also dachte ich, ich würde es einfach in meiner Service-Bean speichern.Daten in BEAN speichern (Spring Boot REST) ​​

Dies ist mein Ansatz bisher. (Kodiert in Kotlin)

@Service 
class MyService(){ 

    var myData: CustomDataObject 

    fun getData() = myData 

    fun updateData(){ 
     // call API and store in myData Object 
    } 

} 

Es funktioniert, aber es scheint irgendwie hacky zu mir. Nicht wirklich eine saubere Lösung, oder? Wenn jemand einen besseren Ansatz dazu hat, wäre ich sehr dankbar.

Antwort

2

Nun, für mich ist die Antwort ziemlich offensichtlich: Verwenden Sie Spring Cache.

Verwandte Themen