検索

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

java - 别人调用我接口,往我数据库里插数据问题,谢谢

局域网里,别人使用C#写的程序,开了4个线程,往我接口里插入4张不同表的数据,问题如下:

谢谢

PHP中文网PHP中文网2889日前529

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

  • PHPz

    PHPz2017-04-18 09:09:15

    議長、ご招待ありがとうございます。
    議長が言及した 2 つの方法はどちらも重複を防ぐための方法です。主な違いは、主キーまたは一意のインデックスの重複を効果的に解決できることです。重複を確認してから挿入するプログラムでは、これら 2 つの操作はアトミックではないため、クエリと挿入の間にリクエストが挿入されることを防ぐことはできず、重複のリスクが依然として存在します。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 09:09:15

    データベースが大量のリクエストを処理できる限り、データベースの一意のインデックスを使用できます。 Redis を使用して、アプリケーション層で一意性を判断することもできます。

    返事
    0
  • 高洛峰

    高洛峰2017-04-18 09:09:15

    この質問の焦点はデータの重複排除ではなく、操作が失敗したというメッセージを受け取らなかったにもかかわらず、生徒がなぜ再試行を開始したかにあるように感じます。
    各リクエストの処理時間を確認するには、インターセプターを使用してログを記録することをお勧めします。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 09:09:15

    呼び出し側は、次の操作を実行する前にリクエストの応答を待つ必要があります。たとえば、リクエストのタイムアウトを短く設定できます。

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:09:15

    最も簡単で効果的な方法は、当面はパフォーマンスの問題を考慮せずに、一意のインデックスを構築することです。
    実際にデータベースのボトルネックが発生した場合、アーキテクチャは現在のものではなくなると推定されます。

    返事
    0
  • キャンセル返事