0 Tage Serie
java / beginner
Snippet

Leistungsoptimierung durch @Cacheable Methoden-Caching

Springs @Cacheable-Annotation speichert den Rückgabewert einer Methode im Arbeitsspeicher. Nachfolgende Aufrufe mit derselben productId liefern direkt das zwischengespeicherte Ergebnis zurück, ohne den langsamen Datenbankaufruf erneut auszuführen, was die Antwortzeiten erheblich optimiert.

snippet.java
java
1
2
3
4
5
6
7
8
9
10
11
12
13
@Service
public class ProductService {
@Cacheable(value = "products", key = "#productId")
public String findProductDetails(Long productId) {
simulateSlowDatabaseCall();
return "Product: " + productId;
}
private void simulateSlowDatabaseCall() {
try { Thread.sleep(2000); } catch (InterruptedException e) { Thread.currentThread().interrupt(); }
}
}
spring
Erklärung
1
@Cacheable(value = "products", key = "#productId")
Weist Spring an, vor dem Methodenaufruf im 'products'-Cache anhand des Schlüssels 'productId' nachzusehen.
2
return "Product: " + productId;
Gibt den berechneten Produkt-String nur dann zurück, wenn kein Eintrag im Cache existiert.