多进程 - 多个进程去读取redis消息队列是否会发生冲突?
PHP中文网
PHP中文网 2017-04-27 09:03:23
0
3
1009

问题

我创建多个进程去同时读取redis做的消息队列 请问这个会发生读取冲突么? 原因是什么呢?

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(3)
黄舟

競合は発生せず、キュー内の各要素は 1 回だけ読み取られます。

いいねを押す +0
曾经蜡笔没有小新

読むだけなら問題ありません。 。 。

いいねを押す +0
Peter_Zhu

Redis 自体は、キューの読み取りと書き込みの相互排他を保証します。 Redis はシングルスレッドであり、おおよそ次のように動作します。マルチプロセス読み取りでは、実際には複数の読み取りリクエスト パケットを並行して送信できます。これらのリクエスト パケットは、redis のソケット バッファーに到着し、ロックなしでリクエストに逐次応答します。いつか Redis がマルチスレッドに変更された場合は、キューの読み取り時に何も起こらないようにミューテックスをロックすることもできます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート