2017-06-09 1 views
0

Ist es notwendig, die Save data as transactions Technik zu verwenden, wenn ein Wert nur erhöht ?. In dem Beispiel Firebase doc social blogging app kann die starCount nach oben oder nach unten gehen, also ist es logisch, das Recht Transaction Technic zu verwenden. Aber wenn der Wert nur steigt, nehme ich an, die Transaktionstechnik wird nicht benötigt, oder? oder? Mehrere Benutzer gleichzeitig erhöhen einen Wert richtig.Wann Firebase-Transaktionen zu verwenden oder nicht

Antwort

3

Der Zähler kann auf- oder abwachsen, dh ein Benutzer kann auf den Zähler klicken, um den Wert zu erhöhen, kann aber auch den Wert verringern, wenn er erneut klickt. Wenn wir Transaktionen verwenden, verwenden wir nicht nur einen Zähler zu erhöhen oder zu verringern, wir verwenden, wenn wir wissen, dass in unserer App eine Möglichkeit besteht, dass zwei Benutzer die gleiche Aktion in derselben Zeit ausführen können. Wenn wir keine Transaktionen verwenden, kann der Zähler nur um eins anstatt um zwei erhöht/verringert werden, wenn zwei Benutzer die Aktion gleichzeitig ausführen.

Wenn wir Transaktionen verwenden, werden beide Aktionen in verschiedenen Ausführungsthreads stattfinden, daher gibt es keine Möglichkeit, einen Zähler nur einmal zu erhöhen/zu verringern, auch wenn beide Benutzer die gleiche Aktion gleichzeitig ausführen.

Als Schlussfolgerung, verwenden Sie Transaktionen jedes Mal, wenn Sie glauben, dass zwei oder mehr Benutzer denselben Wert in Ihrer Firebase-Datenbank zur gleichen Zeit ändern können.

Ich hoffe, es hilft.

+0

Danke, aber ich spreche über einen Zähler, der nie abnehmen wird, kann es nur gehen. –

+1

Ist egal, ob nur erhöhen oder nur verringern. Wenn nur ein Benutzer diesen Zähler verwendet, benötigen Sie keine Transaktionen. Wenn zwei oder mehr Benutzer denselben Zähler zur gleichen Zeit verwenden können, benötigen Sie Transaktionen, um Fehler zu vermeiden. –

+1

@ErikHellberg Es ist nicht so, wie sich die Daten per se ändern, sondern dass sie sich relativ zum vorherigen Wert ändern. Da die Überprüfung des Werts und die Festlegung eines neuen Werts unabhängige Aktionen sind, benötigen Sie eine Transaktion, um sicherzustellen, dass sie sich zwischenzeitlich nicht zu etwas anderem ändert. –

Verwandte Themen