Каждый раз, когда пользователь выполняет вызов API, мы пытаемся кэшировать некоторые пользовательские данные, чтобы они не требовались при каждом последующем вызове API. Поэтому, когда пользователь 1 выполняет вызов, данные кэшируются, и метод не запускается (до тех пор, пока кеш не будет удален в указанное время). Теперь, если пользователь 2 выполняет вызов, метод будет запущен, и эти данные будут добавлены в кеш.
Я знаю, что @CachePut может помочь мне в запуске метода, но как я могу проверить, есть ли значение в кеше?
@Cacheable(value=“userRoles”)
public List<String> getRoles(String userId){
List<String> roles = someDao.getRoles(userId);
return roles;
}