от сервера? какая-то библиотечка или самописный сервис? что посоветуете?
Кэшировать есть смысл только гет запросы. Можно через http заголовки, etag и пр
конечно же гет-запросы, а какие ещё, пост что ли?
и xhr гет-запросы не кешируются браузером
Все кэшируется, если указаны правильные заголовки.
ну, если и так, для этого нужно привлекать бэкенд-разработчика, а я всё же чисто про фронтендский кеш
Может вам нужно просто shareReplay или redux-like...
shareReplay подходит только для единичных одинаковых запросов на один и тот же эндпоинт, а обычно в запросе есть пагинация, сортировка и прочее
redux-like не слышал
Это где указано, что shareReplay ограничен эндпоинтом?
ну вот посмотри, очень короткая статья — https://dev.to/angular/how-to-cache-http-requests-in-angular-5c8i — вот для таких случаев подходит shareReplay
Это же не официальная документация RxJs) и этот пример просто не предусматривает параметры
Как правило, если нет острой необходимости в кешировании (хреновый интернет, например), то лучше не кешировать на клиенте. Потому что инвалидация кеша - тот ещё геморрой. Легко получить рассинхронизацию.
Redux, это как в реакте принято. А там принято, использовать immutable данные и хранить их flatten версию в словарях, где ключ это id
нет, лучше всегда всё кешировать и в следующем заходе в раздел сразу же моментально отобразить данные, а инвалидировать тоже не проблема
Сколько ни работал с фронтендерами, любящими кешировать данные - везде один и тот же геморрой
Я один раз строил велосипед на RxJs по аналогии с View в субд
То есть где исходные данные закэшированы в виде 1 таблица бд = 1 behaviourSubject
Обсуждают сегодня