為什麼Redis能這麼快 redis命令

2022-01-11 17:20:59 字數 436 閱讀 3773

1.redis完全基於記憶體,絕大部分請求是純粹的記憶體操作,執行效率高。

2.redis使用單程序單執行緒模型的(k,v)資料庫,將資料儲存在記憶體中,訪問均不會受到硬碟io的限制,因此其執行速度極快,另外單執行緒也能處理高併發請求,還可以避免頻繁上下文切換和鎖的競爭,同時由於單執行緒操作,也可以避免各種鎖的使用,進一步提高效率

3.資料結構簡單,對資料操作也簡單,redis不使用表,不會強制使用者對各個關係進行關聯,不會有複雜的關係限制,其儲存結構就是鍵值對,類似於hashmap,hashmap最大的優點就是訪問的時間複雜度為o(1)

5.c語言編寫,效率更高

6.redis使用多路i/o復用模型,為非阻塞io

7.有專門設計的resp協議

原文:

Redis為什麼這麼快?

今天我在乙個技術群裡提出乙個問題 redis為什麼這麼快,redis的那些特性能夠支援了它的高併發?之前的我,也只是知道redis是記憶體資料庫,所以讀取速度快 io使用的是多路復用,使用乙個執行緒來輪詢描述符,減少了執行緒上下文的切換,將資料庫的開 關 讀 寫都轉化成了時間,所以io時也有加速。雖...

Redis為什麼這麼快?

1 完全基於記憶體,絕大部分請求是純粹的記憶體操作,非常快速。資料存在記憶體中,類似於hashmap,hashmap的優勢就是查詢和操作的時間複雜度都是o 1 2 資料結構簡單,對資料操作也簡單,redis中的資料結構是專門進行設計的 3 採用單執行緒,避免了不必要的上下文切換和競爭條件,也不存在多...

Redis為什麼這麼快?

目錄 一 redis為什麼這麼快?二 redis為什麼是單執行緒的?redis採用的是基於記憶體的採用的是單程序單執行緒模型的 kv 資料庫,由c語言編寫,官方提供的資料是可以達到100000 的qps 每秒內查詢次數 以下幾點造就了redis非常快的特點 採用單執行緒避免了不必要的上下文切換和競爭...