單線程的redis如何實現阻塞隊列

從redis的API可以瞭解到lpop,rpop可以實現一個阻塞式隊列。那疑問就來了,redis不是單線程的嗎,如果阻塞了,那其他操作就執行不了呀。事實不是這樣的   redis的線程模型,是接收客戶端命令的線程時 I/O 多路複用的,再通過文件事件分配器單線程執行的。如下圖,程序總是會將所有產生事件的套接字都入隊到一個隊列裏面, 然後通過這個隊列, 以有序(sequentially)、同步(sy
相關文章
相關標籤/搜索