По подразбиране получавате кеш настрана, нашето използване на кеша в приложението за зареждане на Spring изглежда нещо подобно на това
@Cacheable(cacheNames = "someCache")
public String cacheThis(String id){
return "this Is it";
}
В повечето от сценариите в приложението за пролетно зареждане ние кешираме резултата от JPA или други DB заявки. В такива случаи добавяме Cacheable
на метода на заявката, който ни дава функция за отстраняване на кеша.
Едно приложение може да емулира функционалността на кеширане при четене чрез прилагане на стратегията за отстраняване на кеша. Тази стратегия зарежда данни в кеша при поискване.
Препратка:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside
Използването на шаблона за отстраняване на кеша не винаги е решение на проблема, в зависимост от вашия случай на използване може да се наложи да промените стратегията за кеширане. Промяната на стратегията за кеширане не е проста, освен някои пояснения, които познаваме от рамката на Spring като
- Кеширане
- CacheEvict
- CachePut
Трябва да актуализирате кода на приложението си, за да използвате други стратегии за кеширане, въпреки че можете да изградите всяка стратегия за кеширане, използвайки тези пояснения. Ако не обичате да използвате тези пояснения, играйте с действителния кеш обект, по всяко време можете да извикате Cache методи, за да промените кеша.
напр.
Cache myCache = cacheManager.getCache("myCache");
След като имате кеш обект, можете да извикате всички подходящи методи, някои методи може да не работят според очакванията поради ограничението на основния кеш.