Ich mache eine Abstimmungsanwendung, wo Stimmen gegen jeden Kandidaten in der Datenbank registriert werden, seit seiner Online-Abstimmungsverfahren, gibt es Chancen, dass viele Menschen werden die gleiche Person zu einer Zeit abstimmen, so Ich stehe vor dem Problem des gleichzeitigen Lesens und Aktualisierens, des gleichen Wertes, wie ich mit dieser Bedingung umgehen sollte. So dass jede Stimme registriert wird und die Verzögerung sollte minimal sein. Ich verwende JDBC und mySQL als Datenbank.gleichzeitiges Lesen und Schreiben zu gleichen Wert in der Datenbank
0
A
Antwort
0
@ user3418790 Stellen Sie sicher, dass Sie die InnoDB-DB-Engine für diese Tabelle verwenden.
Verwenden Sie das Sperren in einer Transaktion und speichern Sie einen Zeitstempel oder eine Versionskennung in der Tabelle, damit Sie wissen, wann sich eine Zeile geändert hat.
- Beginne die Transaktion.
- Holen Sie sich den Zeitstempel oder die Version und vergleichen Sie ihn mit dem Wert, den Sie erwarten. Wenn geändert, dann scheitern und lassen Sie den Benutzer damit umgehen.
- Aktualisieren Sie die Daten.
- Übernehmen Sie die Transaktion.
Das ist es.
Verwandte Themen
- 1. Wie behandeln Dateisysteme gleichzeitiges Lesen/Schreiben?
- 2. gleichzeitiges Schreiben in dieselbe Speicheradresse
- 3. Verwenden von TextWriter mit StreamWriter und gleichzeitiges Lesen/Schreiben
- 4. Gleichzeitiges Lesen und Schreiben am seriellen Port mit 2 Threads
- 5. Gleichzeitiges Schreiben in Zip-Datei
- 6. Gleichzeitiges Schreiben in mehrere Dateien
- 7. SQLite für gleichzeitiges Lesen geeignet?
- 8. Gleichzeitiges Schreiben mit sqlite3
- 9. Gleichzeitiges Lesen und async_read_some in Boost asio
- 10. Gleichzeitiges Schreiben in Datei von AJAX-Anforderung
- 11. Testen der Datenbank lesen/schreiben und Analytik-Skript in Python
- 12. wie in serialPort in der gleichen Zeit zu schreiben und zu lesen?
- 13. Wie zu vermeiden, in der Datenbank den gleichen Wert php
- 14. Behandeln Sie gleichzeitiges Schreiben in eine Datei in JavaScript
- 15. Lesen und Schreiben in den gleichen Socket (TCP) mit Select
- 16. Gleichzeitiges Schreiben von Dateien mit Python Multiprocessing
- 17. Firebase Sicherheitsregeln für Admin, um alles in der Datenbank zu schreiben und zu lesen
- 18. Schreiben in der gleichen Zeile in FORTRAN
- 19. Lesen und schreiben Bitmap zu Android schlägt
- 20. Wert aus einer TXT-Datei lesen und in Ausgabedatei schreiben
- 21. Lesen und Schreiben aus der Warteschlange
- 22. Schreiben und lesen Objekt der Klasse in und aus Binärdatei
- 23. Viele-zu-viele-Beziehung lesen und schreiben
- 24. Schreiben und Lesen Android
- 25. Magick.NET zu lesen und schreiben verlustfrei JPEG
- 26. Datei-Read/Write vs Datenbank Lesen/Schreiben
- 27. von HDFS Lesen und Schreiben zu Hbase
- 28. Lesen und Schreiben eines Schlüssels in/aus der Registrierung
- 29. funken 1.3 lesen und schreiben zu hbase
- 30. arduino schreiben und lesen
Wie sieht Ihr Code aus? 'update votes gesetzt kandidat1 = (kandidat1 + 1)'? –
Verwenden Sie die Diff-Tabelle, um die Kandidaten und Stimmen zu speichern. Sie können einen Eintrag hinzufügen, wenn eine Person abstimmt. Später können Sie das Ergebnis durch Joins erhalten. – Kajal