Я работаю над небольшой поисковой системой, где пытаюсь узнать, как кэшировать результаты запроса. Эти результаты представляют собой простой текст JSON, полученный с помощью запроса ajax.
Сохранение результатов в памяти - это не вариант, я вижу, что осталось два варианта:
- Используйте базу данных nosql для получения кешированных результатов.
- Сохраните результаты в CDN и перенаправьте HTTP-запрос (307 - временное перенаправление), если результат уже был кэширован.
Однако у меня нет большого опыта работы с CDN, и я задаюсь вопросом, является ли использование его для огромного количества временных небольших текстовых файлов хорошей практикой. Это хорошая практика - использовать перенаправление в запросе ajax? Является ли CDN подходящим решением для кеширования небольших текстовых файлов?
1 ответ
Короткий ответ: нет.
Длинный: обычно вы используете CDN для больших статических файлов, которые вы хотите, чтобы CDN отображал по всему миру, чтобы он был ближе к пользователю, когда он их запрашивает. Когда у вас есть данные, которые сильно меняются, для распространения изменений на все узлы CDN всегда потребуется время, тем временем пользователи получают несогласованные результаты (это может иметь значение, а может и не иметь для вас значения).
Кроме того, чтобы избежать более высокой задержки, я бы не использовал перенаправление HTTP (где вы говорите клиенту сделать второй запрос куда-то еще), а скорее выяснил, получать ли данные из кеша или движка на вашем конце (например, используя кэширующий прокси или балансировщик нагрузки), а затем передать его непосредственно клиенту.
Похожие вопросы
Новые вопросы
ajax
AJAX (асинхронный JavaScript и XML) — это метод создания интерактивных пользовательских интерфейсов веб-сайтов без традиционного обновления или перезагрузки веб-страницы. Он использует асинхронный обмен данными между клиентом и сервером, чтобы обновлять отображаемую информацию и беспрепятственно реагировать на взаимодействие с пользователем. Включите дополнительные теги для языков программирования, библиотек, фреймворков, веб-браузеров, протоколов и другой информации об окружающей среде.