首頁  >  文章  >  資料庫  >  redis性能為什麼高

redis性能為什麼高

步履不停
步履不停原創
2019-06-24 13:18:202847瀏覽

redis性能為什麼高

(1)redis是非關聯式記憶體資料庫資料儲存於記憶體中,記憶體讀取速度非常快,如果只是簡單的key-value,記憶體不是瓶頸。一般情況下,hash查找可以達到每秒數百萬次的數量級。

(2)採用單線程,避免了不必要的上下文切換和競爭條件。

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

擴展閱讀

Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。

redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value類型相對較多,包括string(字串)、list(鍊錶)、set(集合)、zset(sorted set --有序集合)和hash(雜湊類型)。這些資料類型都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支援各種不同方式的排序。與memcached一樣,為了確保效率,資料都是快取在記憶體中。區別的是redis會週期性的把更新的資料寫入磁碟或把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。

Redis 是一個高效能的key-value資料庫。 redis的出現,很大程度補償了memcached這類key/value儲存的不足,在部 分場合可以對關係資料庫起到很好的補充作用。它提供了Java,C/C ,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便。

Redis支援主從同步。資料可以從主伺服器向任意數量的從伺服器上同步,從伺服器可以是關聯其他從伺服器的主伺服器。這使得Redis可執行單層樹複製。記憶體可以有意無意的對資料進行寫入操作。由於完全實現了發布/訂閱機制,使得從資料庫在任何地方同步樹時,可訂閱一個頻道並接收主伺服器完整的訊息發布記錄。同步對讀取操作的可擴充性和資料冗餘很有幫助。

redis的官網位址,非常好記,是redis.io。 (特意查了一下,域名後綴io屬於國家域名,是british Indian Ocean territory,即英屬印度洋領地)。

目前,Vmware正在資助著redis專案的開發與維護。

更多Redis相關技術文章,請造訪Redis教學欄位學習!

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

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