У меня есть приложение весенней загрузки, которое делает большое количество запросов к внешним веб-сервисам.Я использую аннотацию @Cacheable
во многих местах для кеширования запросов.Я пытаюсь выяснить, как кэшировать запросы на основе каждого запроса.например:
Предположим, у меня есть следующий метод, который вызывает внешнюю службу:
@Cacheable
private List<Product> listProducts(String orgCode, String channel, String userToken) {
return externalService.listProducts(orgCode, channel, userToken);
}
Когда в мое приложение Spring поступает запрос, он вызывает метод listProducts
5 раз.Внешняя служба вызывается только один раз, а кэшированный результат используется для остальных 4 вызовов.
Теперь приходит другой запрос и снова вызывает listProducts
.Ранее кэшированный результат возвращается.Однако, поскольку это новый запрос к моему приложению, я хочу обновить результаты.
Я чувствую, что @Cacheable
имеет параметр для этого, который я просто не могу найти.