検索

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

Redis を使用して、特定のデータをロック状態にマークするメカニズムを設計する

プログラムはデータベースにアクセスして毎回 10 run_status=0 データを読み取ります。

タスクが実行されると、データベースはフィールドを更新します

run_status=-1

は、このタスクがロックされていることを示します。

もちろん、タスクの実行が完了すると、run_status=0 になり、ロックが解除されたことを示します。

ここで問題が起こります。タスクの実行時、パブリッシュ中にサーバーが突然プログラムを中断するなどの何らかの例外により、run_status=-1 は常にロック状態になります。しかし、実際には実装されていません。

次に、これが起こらないようにメカニズムを設計する必要があります。どうしますか?現在の環境ではredisが利用可能です。

迷茫迷茫2732日前1246

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

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-26 10:51:39

    この質問は単純すぎると思いました。有効期限が 60 秒のキーを設定します。このキーが存在するかどうかを毎回確認してください

    返事
    0
  • キャンセル返事