Как реализовать систему кеширования? - PullRequest
0 голосов
/ 09 декабря 2018

Я занимаюсь разработкой веб-приложения, в котором серверная часть, разработанная при весенней загрузке, использует данные из общедоступного API, который возвращает данные в формате JSON.Поиск осуществляется с помощью полнотекстовых терминов (например, Google), которые серверная часть получает от внешнего интерфейса приложения на запрос пользователя, который, в свою очередь, ищет общедоступный API, ожидает ответ, обрабатывает информацию и отправляет ее внешнему интерфейсу.,Я хотел внедрить систему кеширования в бэкэнд Spring Boot.В основном, до того, как весенняя загрузка выполнит вызов API, публикует и ждет ответа, он проверяет систему ключ / значение, если поиск уже был выполнен в прошлом, и если да, возвращает то, что находится в значении ключа..

Система кэширования:

  • Ключ: условия поиска, Значение: json с открытым ответом API.
  • Он должен сохранять данные, а не быть изменчивым.
  • Это должен быть поиск по значению ключа (кэш).
  • Он должен обновляться другой системойчем описанный, который обновляет данные кэша, проверяя, изменились ли данные в базе (Public API).

Изначально я думал об использовании базы данных NoSQL, такой как mongoDB.Но после расследования получше я наткнулся на Redis.Как вы думаете, что лучше?

Я хотел бы спросить несколько предложений по реализации этой архитектуры.Я не уверен, как реализовать это, я сомневаюсь, что Redis или MongoDB или другие.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Вы можете использовать MemCache.Это готовая система для кеширования.

0 голосов
/ 09 декабря 2018

Я не уверен, что кеш поможет вам в этом случае из-за различных форм поисковых слов.

Если вам нужно защитить свой бэкэнд от нескольких выполнений одного и того же запроса, вы можете использовать Spring Cache .Он поддерживает различные провайдеры, включая Redis, и имеет механизм выселения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...