java / intermediate
Snippet
Deklaratives Caching mit @Cacheable
Die Caching-Abstraktion von Spring ermöglicht es, Methodenergebnisse transparent zu speichern, was die Datenbanklast bei häufig aufgerufenen Daten erheblich reduziert.
snippet.java
1
2
3
4
5
6
7
8
@Servicepublic class ProductService {@Cacheable(value = "products", key = "#id")public Product findProductById(Long id) {simulateSlowService();return repository.findById(id);}}
spring
Erklärung
1
@Cacheable(value = "products", key = "#id")
Weist Spring an, den 'products'-Cache anhand des 'id'-Parameters zu prüfen, bevor die Methode ausgeführt wird.
2
simulateSlowService();
Repräsentiert eine aufwendige Operation, die nur ausgeführt wird, wenn das Ergebnis noch nicht im Cache liegt.