Spring Cache - реальная разница между @CachePut и @CacheEvict - PullRequest
0 голосов
/ 13 марта 2020

Чем больше я читаю об этом, тем меньше я знаю, что это кажется:).

Просто один быстрый вопрос, что использовать при обновлении метода, если я хочу listAll чтобы обновляться новым материалом из обновления? Что безопаснее / лучше практиковать, выселять или кэшировать? Это немного смущает меня, и я прочитал 15 вкладок. : У меня также будет delete , там я предполагаю, что требуется просто CacheEvict, верно?

@Cacheable(CACHE1)
@RequestMapping(method = RequestMethod.POST)
public Object listAll(@Valid  @RequestParam("status") String status) {
   //code
    }

 @CachePut(CACHE1)
//or
 @CacheEvict(value = {CACHE1}, allEntries = true)
 @RequestMapping(method = RequestMethod.POST)
 public Object update(@RequestBody Project project{
    //code
   }

1 Ответ

0 голосов
/ 13 марта 2020

Используйте CachePut при сохранении объекта и CacheEvict при удалении объекта. Вы могли бы просто исключить сохранение и позволить аннотации Cacheable на ваших геттерах обрабатывать выборку данных fre sh и повторное кэширование, а также вообще избегать использования CachePut.

...