Standaard krijg je cache opzij, ons cachegebruik in de Spring boot-app ziet er ongeveer zo uit
@Cacheable(cacheNames = "someCache")
public String cacheThis(String id){
return "this Is it";
}
In de meeste scenario's in de Spring Boot-app cachen we het resultaat van JPA of andere DB-query's. In dergelijke gevallen voegen we Cacheable
. toe op de query-methode, die ons een cache opzij-functie geeft.
Een applicatie kan de functionaliteit van read-through caching emuleren door de cache-aside-strategie te implementeren. Deze strategie laadt gegevens op verzoek in de cache.
Ref:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside
Het gebruik van een cache-side-patroon is niet altijd de oplossing voor een probleem, afhankelijk van uw gebruikssituatie moet u mogelijk de caching-strategie wijzigen. Het wijzigen van de cachestrategie is niet eenvoudig, behalve enkele annotaties die we kennen van het Spring-framework zoals
- Cacheable
- CacheEvict
- CachePut
U moet uw toepassingscode bijwerken om andere cachingstrategieën te gebruiken, maar u kunt elke cachingstrategie maken met behulp van deze annotaties. Als je deze annotaties niet wilt gebruiken, speel dan met het eigenlijke cache-object, je kunt op elk moment Cache-methoden aanroepen om de cache te wijzigen.
bijv.
Cache myCache = cacheManager.getCache("myCache");
Als je eenmaal een cache-object hebt, kun je alle relevante methoden aanroepen. Sommige methoden werken mogelijk niet zoals verwacht vanwege de beperking van de onderliggende cache.