Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Was ist die Standard-Cache-Strategie bei der Verwendung von Redis mit Spring oder Spring Boot?

Standardmäßig erhalten Sie Cache beiseite, unsere Cache-Nutzung in der Spring-Boot-App sieht in etwa so aus

@Cacheable(cacheNames = "someCache")
public String cacheThis(String id){
    return "this Is it";
}

In den meisten Szenarien in der Spring-Boot-App speichern wir das Ergebnis von JPA- oder anderen DB-Abfragen zwischen. In solchen Fällen fügen wir Cacheable hinzu auf der Abfragemethode, die uns eine Cache-Aside-Funktion gibt.

Eine Anwendung kann die Funktionalität des Read-Through-Caching emulieren, indem sie die Cache-Aside-Strategie implementiert. Diese Strategie lädt Daten bei Bedarf in den Cache.

Siehe:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside

Die Verwendung von Cache-Aside-Mustern ist nicht immer die Lösung für ein Problem, je nach Anwendungsfall müssen Sie möglicherweise die Caching-Strategie ändern. Das Ändern der Caching-Strategie ist nicht einfach, mit Ausnahme einiger Anmerkungen, die wir aus dem Spring-Framework kennen, wie

  • Cachefähig
  • CacheEvict
  • CachePut

Sie müssen Ihren Anwendungscode aktualisieren, um andere Caching-Strategien zu verwenden, obwohl Sie jede Caching-Strategie mit diesen Anmerkungen erstellen können. Wenn Sie diese Anmerkungen nicht verwenden möchten, spielen Sie mit dem eigentlichen Cache-Objekt. Sie können jederzeit Cache-Methoden aufrufen, um den Cache zu ändern.

zB

Cache myCache = cacheManager.getCache("myCache"); 

Sobald Sie ein Cache-Objekt haben, können Sie alle relevanten Methoden aufrufen, einige Methoden funktionieren aufgrund der Einschränkungen des zugrunde liegenden Caches möglicherweise nicht wie erwartet.