Вопросы по кешу и чтению заряда - PullRequest
1 голос
/ 16 июня 2019

Я понимаю, как кеш в хранилище и плата за чтение будут вести себя в этих сценариях. И я не уверен, правильно это или нет.

Если у меня есть 2000 документов в коллекции, это название коллекции "testCollection"Эти документы не будут изменены, обновлены или удалены.Мой клиент - Android с уже включенным постоянным сохранением, а устройство в данный момент подключено к сети

1.

db.collection("testCollection").onSnapshot(function(doc) {});

2000 считываний заряжено, и эти документы кэшированы.затем снова откройте приложение и снова запустите тот же код

db.collection("testCollection").onSnapshot(function(doc) {});

еще 2000 считываний считаны, потому что пожарному хранилищу необходимо проверить, актуален ли каждый документ или нет.Таким образом, 2000 + 2000 считываний заряжены

2.

Я не уверен, как это ведет себя.просто запустите один и тот же код вместе

db.collection("testCollection").onSnapshot(function(doc) {}); 
db.collection("testCollection").onSnapshot(function(doc) {});

Я думаю, что считано 2000 считываний, потому что данные обновляются

3.

db.collection("testCollection").limit(300).onSnapshot(function(doc) {}); 
db.collection("testCollection").limit(800).onSnapshot(function(doc) {}); 

Всего 1100 считываний заряжено.потому что это другой запрос.

У меня что-то неправильно или неправильно?

1 Ответ

1 голос
/ 17 июня 2019

2000 считываний начислено, и эти документы кэшированы.

Это верно, поскольку вы впервые выполняете эти операции чтения.

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

Когда документы находятся в вашем кеше и эти документы не изменены (как вы говорите), все операции чтения происходят из кеша. Вы не будете платить за операции чтения, которые поступают из кэша.

Я думаю, 2000 считываний начислено, потому что данные обновляются

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

Всего 1100 считанных зарядов. Потому что это другой запрос

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

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