2013-08-21 10 views
4

Как включить кэширование с помощью Spring Data Rest?Spring Data Rest - Кэширование

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

Я считаю, что некоторый уровень является кэширование происходит в рамках API REST и было бы идеально, если кэширование происходит на конечной стадии реакции, т.е., ответ JSon (чтобы избежать накладных расходов на сортировочных объектов в JSON)

Мысли/Комментарии?

ответ

5

Самый простой способ реализовать это на уровне хранилища - использовать Spring @Cacheable, как это видно из Spring Data JPA Examples project.

Другим вариантом является использование кеширования HTTP с использованием параметров Apache HTTPD или, например, лака.

+1

Кэширование хранилища Я согласен с. Однако я немного заинтересован в том, чтобы включить http-кеширование, где в сценарии, где приложение обновляет его кеш через некоторый триггер (внутренний или внешний), и мы не имеем никакого контроля за аннулированием кэширования http. – Stackee007

+0

Я вижу заголовок «ETags» в фрагментах кода из документации для хранения данных весны. Не уверен, что это функция восстановления данных api или это особенность оболочки отдыха. В любом случае любые указатели для понимания реализации? – Stackee007

+0

Re: HTTP Caching - Как настроить кеши полностью зависит от вашего домена, но да, это требует тщательного мышления и правильной настройки. Здесь нет рекомендаций по полке. Re: ETags - они обычно реализуются с помощью фильтра Servlet или «HandlerInterceptor». Быстрое решение OOTB - это «ShallowEtagHeaderFilter», но для него все еще нужна логика бэкэнд, поскольку она только сравнивает хэши для отображения содержимого. –

Смежные вопросы