это такой аналог редиса. он на _duration секунд кеширует ответ по урлу. боди не сравнивается. просто url
зачем ? типа для чего это в дальнейшем применялось
Чтобы разгрузить процессорные мощности для редко обновляемых запросов. Условно говоря есть у тебя курс валют, который ты тянешь с какой-то апи. Ты знаешь что курс обновляется раз в день. Зачем дергать апи, использовать квоту, делать запрос дольше, если можно отдать закэшированные данные сразу
для ускорения работы. если ответ по этому роуту есть в кеше, то он возвращает его. это быстрее, чем выполнить весь роут, вдруг там запросы к базе или еще какие тяжелые операции.
блиин так это круто
Ещё один возможный юзкейс. У тебя сервис условно говоря объявлений. Держать объявления актуальными секунда в секунду не обязательно. У сервиса тыщи пользователей. Ты кэшируешь объявление на 10 минут и снизаешь нагрузку на бд существенно. Вместо сотни или тысячи запросов к базе за эти 10 минут уходит всего 1. Плюс экономится ресурс машины и можно выдержать больше запросов
на схожую тему есть stale-while-revalidate например, https://github.com/vercel/swr
Ну это уже к фронту. Годная фишка, хотя реак я недолюбливаю. :)
но бэк для этого тоже должен правильные заголовки отдавать. у nginx, вроде как, есть встроенная похожая фича. кажется Microcaching называется. тоже кеширует ответ на заданное время
Можно ещё настроить nginx вместе с мемкешд. Чтобы nginx закэшированные ответы отдавал сразу с мемкэшда, и не обращался к приложению
мемкешед деприкейтед если с редисом сравнивать
Ну я как пример сказал. Тут хоть эластик вешай
Плохой код
а что плохого там?
Обсуждают сегодня