多進程 - 多個進程去讀取redis訊息佇列是否會發生衝突?
PHP中文网
PHP中文网 2017-04-27 09:03:23
0
3
1015

問題

我建立多個行程去同時讀取redis做的訊息佇列 請問這個會發生讀取衝突麼? 原因是什麼呢?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(3)
黄舟

不會衝突,佇列中的每個元素只會被讀取一次。

曾经蜡笔没有小新

只是讀取沒問題。 。 。

Peter_Zhu

redis自己保證隊列讀寫的互斥。 redis是單線程,運作方式大概是這樣的。你的多進程讀取其實是可以並行發多個讀取請求包,這些請求包到達redis的socket buffer中,redis的處理是串行響應你的請求,無鎖。如果哪天redis改成多執行緒的方式,同樣可以透過加鎖互斥來保證佇列的讀取不會出事情。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板