Как проверить кеш Spring Boot на наличие ключа и запустить кеширование только в том случае, если ключа еще нет? - PullRequest
0 голосов
/ 28 мая 2020

Каждый раз, когда пользователь выполняет вызов API, мы пытаемся кэшировать некоторые пользовательские данные, чтобы они не требовались при каждом последующем вызове API. Поэтому, когда пользователь 1 выполняет вызов, данные кэшируются, и метод не запускается (до тех пор, пока кеш не будет удален в указанное время). Теперь, если пользователь 2 выполняет вызов, метод будет запущен, и эти данные будут добавлены в кеш.

Я знаю, что @CachePut может помочь мне в запуске метода, но как я могу проверить, есть ли значение в кеше?

@Cacheable(value=“userRoles”)
public List<String> getRoles(String userId){
List<String> roles = someDao.getRoles(userId);
return roles;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...