Кэширование Firestore — обновляет/устанавливает кэш изменений

# #firebase #google-cloud-firestore

Вопрос:

Если я выполню набор/обновление в документе, будет ли это автоматически обновлять сохраненные значения документа в кэше? Или мне нужно выполнить сервер get (), чтобы убедиться, что значения обновляются в кэше?

Ответ №1:

Нет необходимости выполнять процедуру получения после записи, чтобы убедиться, что ваш кэш обновляется, об этом позаботится пакет Firestore SDK.

При чтении данных, возвращаемых из локального кэша, хранящегося в Firestore, полученные данные включают любые изменения, внесенные в эти данные локальным клиентом.

Комментарии:

1. Это делает все намного проще. Я подумывал о том, чтобы изменить свое приложение, чтобы читать документ пользователя из кэша при открытии приложения (и, если его нет в кэше, считывать с сервера). Когда они вышли из системы, я собирался очистить кэш firestore, но прочитал, что это следует делать только для тестирования.. Вы знаете, почему люди так говорят?

2. Зачем вам нужно очищать кэш? Разве это не показывает правильные данные? В общем, вы должны относиться к кэшу Firestore как к прозрачной оптимизации, а не как к чему-то, о чем вы беспокоитесь.

3. Это было в основном из-за того, что пользователи выходили из системы на одном устройстве и входили в систему на другом. Я думал, что это может стать полностью несинхронизированным, если они начнут обновлять свой пользовательский документ на втором устройстве, а затем переключатся обратно на первые устройства. Очистка кэша силы должна решить эту проблему, но если это не рекомендуется, я не уверен, как это исправить

4. Ах, в таком случае вы определенно сможете очистить кэш, когда пользователь выйдет из системы. Просто не думайте об этом как о механизме безопасности, так как любые данные на устройстве хранятся в незашифрованном виде и должны считаться доступными для всех, кто имеет доступ к устройству.

5. Конечно 🙂 Последний вопрос: в кэше хранятся только документы firestore? Я просто хочу еще раз проверить, что я не буду очищать что-то в фоновом режиме, что библиотека firebase кэшировала по соображениям производительности или эффективности