Прайс-лист ценообразования - PullRequest
0 голосов
/ 23 января 2019

Есть несколько вопросов по этой теме, но я не могу найти тот, который отвечает на мой вопрос.Как и , описанный здесь , нет четкого объяснения того, применима ли минимальная плата к query.get() или к слушателям в режиме реального времени.Цитируется:

Минимальная плата за чтение одного документа за каждый выполняемый вами запрос, даже если запрос не дает результатов.

Причина:задавать этот вопрос , хотя для кого-то это может показаться очевидным из-за раздела;*for each query that you perform* в этом выражении, которое может означать одноразовый триггер, например, с помощью метода get().

Сценарий: Если 10 пользователей прослушивают изменения в коллекции с запросами т. Е. query.addSnapshotListener(), тогда в одном документе происходит изменение, которое соответствует фильтру запросов только двух пользователей. Остальные восемь тоже взимают плату за одно чтение?

Используемая база данных: Firestore

1 Ответ

0 голосов
/ 23 января 2019

В этом сценарии я бы сказал «нет», остальные восемь не будут считаться прочитанными, поскольку прослушиваемые ими документы не были обновлены или не были добавлены / удалены из этой коллекции на основе их фильтров (параметров запроса).Чтения основаны не на изменениях в коллекции, а на изменениях потока документов, которые вы специально слушаете.Поскольку это 1 изменение документа не было частью документов, которые слушали другие 8 пользователей, для них нет нового чтения.Однако, если это изменение одного документа привело к тому, что этот документ теперь соответствует фильтрам запросов этих 8 других, тогда да, для этих пользователей будет 8 новых операций чтения.Надеюсь, что это имеет смысл.

Также стоит отметить, что такие вещи, как offlinePersistence, включенные через кеширование sdk и firestore, максимизируют эффективность ограничения чтения, а также использования синглтона Observable, на который подписываются несколько экземпляров в вашем приложении, а не наоборот.чтобы открыть несколько потоков одного и того же запроса по всему вашему приложению.На самом деле это не относится к этому каталогу вопросов, но, опять же, в том же духе, стоит отметить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...