為什么redis是單線程的,但是並發量如此高?


1. redis和memcached的區別

  • redis支持的數據結構更加豐富,memcached操作比較復雜
  • memcached不支持原生的集群模式,redis是支持的
  • memcached不支持數據持久化,redis有aof和rdb

2. redis為什么是單線程的

  • redis是單線程,通過IO多路復用提高單核的處理能力
  • 單線程處理起來比較簡單
  • 單線程可以避免大量的線程切換,競爭帶來的資源消耗。
  • redis是純內存操作,性能瓶頸並不在IO上

如果說想充分利用CPU的多核,可以啟多個Redis。 目前最新版的redis是有多線程版本了,我覺得最主要的是首先要理解為什么會有多線程的誕生,什么場景下才會用到多線程,多線程給我們帶來了什么好處,引入了什么問題。通過redis的單線程模型可以思考很多問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM