Более быстрый способ получить данные из Firebase? - PullRequest
0 голосов
/ 04 июля 2019

Недавно я загрузил 37 000 строк данных в Firebase (название всех городов США).Чтобы выяснить, что требуется слишком много времени, чтобы просмотреть каждый из них, используя метод наблюдаем .childAdded, чтобы загрузить его в базовое представление таблицы.

Есть ли альтернатива?Как я могу быстрее получить данные для своего приложения?Данные не должны меняться .... так есть ли альтернатива?

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Нет способа быстрее загрузить те же данные.Firebase не ограничивает скорость загрузки искусственно, поэтому время, необходимое для чтения 37 000 строк, - это время, которое требуется для чтения 37 000 строк.

Чтобы ваше приложение быстрее реагировало на пользователя, вы будетедолжны загружать меньше данных.И поскольку маловероятно, что ваш пользователь прочитает все 37 000 строк, хорошим первым вариантом будет загрузить только те данные, которые они увидят.

Поскольку вы описываете сценарий автозаполнения, я сначала посмотрю наиспользуя запрос, чтобы получить только дочерние узлы, которые соответствуют тому, что они уже набрали.В Firebase это было бы примерно так:

ref.queryOrdered(byChild: "name")
   .queryStarting(atValue: "stack")
   .queryEnding(atValue: "stack\u{f8ff}")

Этот код принимает (на сервере) все узлы в ref и упорядочивает их по имени.Затем он находит первый, начинающийся с stack, и возвращает все дочерние узлы, пока не находит тот, который больше не начинается с stack.

При таком подходе фильтрация происходит на сервере, и клиенту нужно толькозагрузить данные, соответствующие запросу.

0 голосов
/ 04 июля 2019

Это что-то легко решаемое, используя Algolia .Алголия может искать большие наборы данных, не занимая много времени вообще.Таким образом, вы запрашиваете Algolia и вам никогда не нужно просматривать базу данных Firebase.

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

Вы можете следить за документами по Алголии здесь: Документы по Алголии

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