Memcacheq、redirs Channle などのメソッドを同時実行制御に使用できますここでは、redis がどのように同時実行を制御するかについてのみ説明します
Redis は主に、redis list API の lPush llen lPop の 3 つの関数を使用します
lLen - リストの長さを取得します
lPop - リストの最初の値を削除して返します
lP ush - リストに値が含まれている場合、リストに値を挿入します存在しません。新しいリストを作成します
たとえば、ここに急ぎの購入需要があります。製品の 200 個だけが実行されます。一般的な考え方は次のとおりです。
毎回 Redis メッセージ キューの長さを確認して、or = 200 を超えているかどうかを確認します。この書き方では複数のラッシュが発生する可能性があります。
そのため、バックエンドにキュー処理を行う別のプログラムがあります。数値が大きすぎる場合、それ以上の処理は実行されません。
もちろんです。このフロントエンドのキューに入れられているユーザー。自分がそれを持っていることを人に伝えることはできません。 5分後に結果を確認するよう求められるはずです。
この方法で処理される数量を超えることはありません。もちろん、同時実行性が大きすぎる場合は、具体的に同時実行処理アーキテクチャを探すことができます。
フレンドリーなユーザー エクスペリエンスが必要な場合は、ソケットを使用してバックエンド処理結果を取得し、それを取得するかどうかをユーザーに伝えます。 Redis の処理は非常に高速なので、ユーザーが長時間待機することを心配する必要はありません。
上記では、Redis コンテンツを含む PHP Redis 同時実行制御について紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。