ホームページ  >  に質問  >  本文

node.js - nodejs マルチスレッドでデータの一貫性の問題を解決する方法

こんな場面を想像してみてください。たとえば、テストテーブルにはフィールド

があります。 リーリー

ユーザーが編集インターフェイスを開くと、データベースから読み取られるデータは

です。 リーリー

その後、彼は名前を変え、こうなりました

リーリー

現在、他のプログラムがこのテストテーブルを高速に読み書きしています。ユーザーがデータをデータテーブルに保存していないため、他のプログラムによって保存されたデータは

です。 リーリー

カウント フィールドを 41、42、43 に継続的に変更します。この時点で、ユーザーは変更を完了し、データをデータベースに保存しました。この時点で保存された最終データは

です。 リーリー

そこで問題が発生します。 。 。 count フィールドのデータに問題があります。

この問題を解決するにはどうすればよいですか?

1. count フィールドを別のテーブルに分離し、相互に干渉しないように 2 つのテーブルを関連付けます。ただし、この方法でデータを読み込む場合、2つのテーブルを読み込む必要があり、少し面倒です。

2. ユーザーがデータを保存すると、必要なフィールドのみが更新されます。たとえば、count フィールドはデータベースから古いフィールドを読み取ります。ただし、データテーブルに数十のフィールドがある場合、手順は少し面倒です。

どうやって解決しましたか?

ringa_leeringa_lee2713日前551

全員に返信(1)返信します

  • 天蓬老师

    天蓬老师2017-06-05 11:14:48

    典型的なトランザクションの問題。

    どのデータベースを使用していますか?ビジネスを勉強したことがありますか?使用するデータベースがトランザクションをどのようにサポートするかを学びます。

    簡単に言うと、1 つのクライアントだけが同時に読み取りと書き込み操作を実行できるようにデータをロックし、他のクライアントは待機する必要があります。

    返事
    0
  • キャンセル返事