sql >> Databasteknik >  >> NoSQL >> Redis

Vilken är standardcachestrategin när du använder Redis med fjäder- eller fjäderstart?

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.




  1. Hur man går in i produktion med MongoDB - Topp tio tips

  2. hur man postar godtyckliga json-objekt till webapi

  3. Logstash Web UI startar inte

  4. Embedded Redis för Spring Boot