首頁 >後端開發 >php教程 >redis疑問?

redis疑問?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-08-04 09:20:31937瀏覽

redis列隊,是一個程序放進去又馬上拿出來?還是一個程序放,另外程序拿出來? ? ? ?

redis單線程,是不是可以這樣,同時有兩個程式放,又同時拿,是不是對兩個程式排隊一下,瞬間只能一個程式拿到

會不會同時操作的多個程序,自動排隊一下

回覆內容:

redis列隊,是一個程序放進去又馬上拿出來?還是一個程序放,另外程序拿出來? ? ? ?

redis單線程,是不是可以這樣,同時有兩個程式放,又同時拿,是不是對兩個程式排隊一下,瞬間只能一個程式拿到

會不會同時操作的多個程序,自動排隊一下

  1. redis server並不關心哪個進程push和pop, 只是順序處理排隊的請求。

  2. 單一進程的push和pop,就是把list當做queue或stack用。

  3. 當訊息隊列用,就producer push, consumer pop.

  4. 做rpc非同步通訊的話,則可以透過開多個list, 一個放req由處理者接收處理,然後把resp放到對應的調用者的接收隊列

首先並發的概念裡,不存在兩個執行緒同時拿到資料的情況。跟redis是不是單線程沒有關係,跟你有幾個cpu有關係。

如果你是多執行緒的取資料處理資料就不要考慮執行的問題了,這個順序一定是亂的

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn