Например, у меня есть веб-приложение, которое показывает рекомендуемые фильмы каждому пользователю. Метод службы выполняет вызов API на другую платформу и возвращает фильмы. Мне нужно реализовать следующую логику:
Пользователь запрашивает рекомендации своих фильмов. Если вызов API был успешным, поместите его в кеш и вернитесь. В противном случае нет (если метод вернул null). Но пользователь также может нажать кнопку обновления. В этом случае удалите кеш для этого пользователя, выполните вызов API и снова поместите его в кеш. Как я могу принудительно обновить кеш?
Spring кэшируемое принудительное обновление
Ответы (2)
Вы можете добавить condition
параметр @Cacheable
. Если оцененное значение равно false
, метод будет вызван.
person
Beck Yang
schedule
09.11.2016
Существует аннотация @CacheEvict
, которую вы можете использовать в методе, запускающем «обновление». Дополнительные сведения см. в документации.
person
Stephane Nicoll
schedule
07.11.2016
Это способ не создавать еще один метод с аннотацией
@CacheEvict
? Точно так же, как передать boolean force
аргументам метода и выселить его, если это правда?
- person Feeco; 07.11.2016