tl; dr:同じ値で複数回038を呼び出すと、毎回帯域幅が使用されます。
あなたは簡単にこれらの事を自分でテストすることができます。私は次のことをやった:Chromeデベロッパーツールで「ネットワーク」タブを開き、Firebaseと通信のWebSocket(「WS」)を見つけます。そのWebソケットの「フレーム」タブには、Firebaseクライアントがサーバと通信する内容が正確に表示されます。
は、デベロッパーコンソールで次のコマンドを実行します。
var newRef = ref.push();
これは新しいパス/場所を発生し、まだFirebaseサーバには何も送信しません。次に:
newRef.set('This is a value');
これは値を設定するので、帯域幅を使用します。
は、その後、私は再び同じことを実行しました:
newRef.set('This is a value');
をこれが再びFirebaseデータをサーバーに送信されますので、帯域幅を使用しています。あなたはそれについて考えるとき
、これも意味があります。 Firebaseクライアントはローカル状態のみを認識します。他の人が値を変更したなどの理由で、サーバー上の値が異なる可能性があります。したがって、値を設定するように指示するときは、そのコマンドをサーバーに送信して、値が実際にデータベースに書き込まれるようにする必要があります。
おかげでフランク。何らかの理由で今まで私はそうではないと思っていましたが、データを複数回読み取るために一度ダウンロードするデータと一度だけ混同してしまったと思います。 –