redis单线程为什么还快的个人解释
生活随笔
收集整理的這篇文章主要介紹了
redis单线程为什么还快的个人解释
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
面試的時候,
面試官問,redis是單線程還是多線程
答:單線程
面試官再問,單線程,為什么還快呢?不應該是多線程才更快嗎?那這是不是有什么矛盾啊?
答:啊???。。。。。。(心里臥槽,就是單線程所以快啊,還說多線程什么事,難道是我哪塊的知識點出了問題了?)
對,這是一次真實的面試,沒想到快被用爛的redis,竟然讓人這樣問住了,其實道理我知道,但一時突然語塞,真不知道怎么解釋好,其實是一個坑。
以下是復盤的回答:
redis是單線程的,是因為redis是基于內存的,所以他的性能和cpu沒有關系,而是和內存大小與帶寬有關,所以既然和cpu沒什么關系,那使用單線程就比多線程好多了,最明顯的一點就是不用擔心多線程的鎖的問題了,而且如果覺得對于多核的c pu來說,單線程是不是有點讓其他核閑置了,那么這其實就是另外一個問題了,我們完全可以起多個redis進程,比如4核就起4個redis進程,由于redis是key-value型數據庫,數據之間不像關系型數據庫那樣有約束,只要客戶端能分清哪些進程上存放哪些key就可以了。
總結
以上是生活随笔為你收集整理的redis单线程为什么还快的个人解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jenkins+k8s实现持续集成
- 下一篇: 如何写一个数据库中间件以及需要准备的知识