cache.md
May 26, 2020 · View on GitHub
Кеширование данных
Хорошей практикой является кеширование загруженных данных. Например, результатов поиска, пользовательского профиля, содержимого некого экрана. Это необходимо, чтобы пользователь мог видеть уже загруженный им контент без дополнительной перезагрузки.
Способы кеширования можно разделить по детализации сохранения данных:
-
Url-кеш - В этом случае при успешном запросе на сервер кешируется сырой ответ сервера. Готовое решение для реализации такого кеша предоставляется модулем network (Описание модуля, Реализация кеша).
Преимущества:
- легко реализовать
-
объектное хранилище - позволяет сохранять в кеш и получать из кеша модели слоя Domain или отдельные примитивные типы. Используется когда функционал простого кеша недостаточен. Основное отличие от Url-кеша - возможность сохранять данные вручную.
Преимущества:
- В отличие от простого кеша, можно сохранить любые данные. А не только json по url.
Можно реализовать на основе файлового хранилища.
-
база данных - сохраняет не только сами объекты, но и связи между ними. Если нужен только кеш - не самое лучшее решение. БД созданы для более сложных задач.
При использовании кеша встает вопрос о том, как и когда его обновлять. С решением этой проблемы может помочь механизм etag. Гибридные запросы помогут конкатенировать данные из кеша и из сети.