ホームページ >バックエンド開発 >PHPチュートリアル >php memcached の高同時処理キューの実装に関する問題
PHP memcached の同時実行性の高い処理キューの実装の問題
急ぎ購入の問題を処理するための memcached のキューのコードをいくつか調べました。2 つのアイデアがあることを理解しました。
1. $mem->set( を使用します。 LOCK_key ,1) ロックするには、キューに参加した後 $mem->delete(LOCK_key) でロックを解除します
2. memcached の increment(key,1) を使用してキューの位置を取得します
Mine問題は次のとおりです:
1. 最初の方法は実行可能ですか?
2.$memcached->increment(key,1) この関数は同時アクセスを処理できますか?つまり、複数のプロセスが同時にインクリメント関数を呼び出した場合、同時カバレッジの問題は発生しますか?
私は今年大学 4 年生で、常に就職活動をしています。これまで PHP を十分に体系的に学習していなかったため、再試験で YY と 4399 の両方で不合格になりました。
私の心はとても寒いです、仕事を見つけるのは簡単ではありません、しかし私は一生懸命働き、それを大切にしなければなりません、一生懸命働きたいです、私を助けてくれた皆さんに感謝します
---- --解決策のアイデア-------- ---------------
競合が発生します
自分でテストしてみればわかります
------解決策のアイデア---- -------
memcached For high のみを使用すると、競合が発生します。同時実行性の競合がある場合は、memcacheQ を使用して解決できます。
memcacheq は、同時実行性の問題を解決するために特別に開発されたミドルウェアです。キュー内のデータにアクセスします。
参考: http://blog.csdn.net/fdipzone/article/details/17933673