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.