sql >> Database >  >> NoSQL >> Redis

Wat is de standaardcachestrategie bij gebruik van Redis met spring of springboot?

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.




  1. Hoe correct verbinding maken met Atlas M0 (Free Tier) cluster via Java-stuurprogramma?

  2. spring-data-redis redisTemplate Exception

  3. Kan geen werkend meteor.js-project maken op een zwervende doos

  4. JedisPoolConfig kan niet worden toegewezen aan GenericObjectPoolConfig