Som standard får du cache åt sidan, vår cacheanvändning i Spring boot-appen ser ungefär ut som detta
@Cacheable(cacheNames = "someCache")
public String cacheThis(String id){
return "this Is it";
}
I de flesta scenarierna i vårstartappen cachar vi resultatet av JPA eller andra DB-frågor. I sådana fall lägger vi till Cacheable
på frågemetoden, vilket ger oss funktionen för cache-aside.
En applikation kan emulera funktionaliteten för genomläsningscache genom att implementera strategin för cache-aside. Den här strategin laddar data till cachen vid behov.
Ref:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside
Att använda cache-aside-mönster är inte alltid lösningen på ett problem, beroende på ditt användningsfall kan du behöva ändra cachingstrategin. Det är inte enkelt att ändra cachingstrategi, förutom några kommentarer som vi känner till från Spring-ramverket som
- Cachebar
- CacheEvict
- CachePut
Du måste uppdatera din applikationskod för att använda andra cachningsstrategier, även om du kan bygga vilken cachningsstrategi som helst med dessa kommentarer. Om du inte gillar att använda dessa kommentarer, spela med det faktiska cacheobjektet, när som helst kan du anropa cachemetoder för att ändra cachen.
t.ex.
Cache myCache = cacheManager.getCache("myCache");
När du väl har ett cacheobjekt kan du anropa alla relevanta metoder, vissa metoder kanske inte fungerar som förväntat på grund av begränsningen av den underliggande cachen.