Я создаю веб-сервис RESTful, который может использоваться браузером или другим веб-сервисом.
Я хочу уменьшить пропускную способность за счет кэширования, однако я хочу, чтобы метод выполнялся и отправлял фактические данные только в том случае, если он отличается от последнего измененного кэша.
Исходя из моего понимания аннотации @cacheable, метод выполняется только один раз, а выходные данные кэшируются до истечения срока действия кэша.
Также @CachePut выполняется каждый раз и обновляет кэш, но отправляет ли он кэш снова, даже если он не обновлен?
Сводка такова: мне нужно, чтобы клиент мог отправлять дату последнего изменения своего кэша и получать новые данные, только если он был изменен.
Кроме того, как Spring обрабатывает кэширование на стороне клиента и заголовки if-updated-Since? мне нужно сохранить время последнего изменения или оно обрабатывается автоматически?