首頁  >  文章  >  資料庫  >  redis為什麼這麼快

redis為什麼這麼快

藏色散人
藏色散人原創
2019-06-10 10:52:432743瀏覽

Redis是一個由ANSI C語言編寫,效能優秀、支援網路、可持久化的K-K記憶體資料庫,並提供多種語言的API。它常用的型別主要是 String、List、Hash、Set、ZSet 這5種。

redis為什麼這麼快

redis為什麼這麼快?

1、完全基於內存,絕大部分請求是純粹的內存操作,而且非常快速。資料存在記憶體中,類似HashMap,HashMap的優勢就是查找和操作的時間複雜度都是O(1);

2、資料結構簡單,對資料操作也簡單,Redis中的資料結構是專門進行設計的;

3、採用單線程,避免了不必要的上下文切換和競爭條件,也不存在多進程或者多線程導致的切換而消耗CPU,不用去考慮各種鎖的問題,不存在加鎖釋放鎖定操作,沒有因為可能出現死鎖而導致的效能消耗;

4、使用多路I/O復用模型,非阻塞IO;

5.使用底層模型不同,它們之間底層實現方式以及與客戶端之間通信的應用協議不一樣,Redis直接自己構建了VM 機制,因為一般的系統調用系統函數的話,會浪費一定的時間去移動與請求;

內部實作採用epoll,採用了epoll 自己實作的簡單的事件框架。 epoll中的讀、寫、關閉、連接都轉換成了事件,然後利用epoll的多重化特性,絕不在io上浪費一點時間。

更多Redis技術文章,請造訪redis使用教學欄位!

以上是redis為什麼這麼快的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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