首頁 >資料庫 >Redis >redis為什麼效能好

redis為什麼效能好

(*-*)浩
(*-*)浩原創
2019-11-22 10:56:432422瀏覽

redis為什麼效能好

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

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

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

因為Redis的操作都非常快速— —它的資料全部在記憶體裡,完全不需要存取磁碟。 至於並發,Redis 使用多路 I/O 復用技術,本身的並發效率不成問題。

當然,單一 Redis 進程沒辦法使用多核心(任一時刻只能跑在一個 CPU 核心上),但是它本來就不是非常計算密集型的服務。如果單核心效能不夠用,可以多開幾個進程。

Redis採用了單執行緒的模型,保證了每個操作的原子性,也減少了執行緒的上下文切換和競爭。

另外,資料結構也幫了不少忙,Redis全程使用hash結構,讀取速度快,還有一些特殊的資料結構,對資料儲存進行了最佳化,如壓縮表,對短資料進行壓縮存儲,再如,跳表,使用有序的資料結構加快讀取的速度。

還有一點,Redis採用自己實作的事件分離器,效率比較高,內部採用非阻塞的執行方式,吞吐能力比較大。

string 類型,二進位安全的

hash 類型,是一個鍵值對的集合

List清單底層是個鍊錶

#set 集合無需的透過hashtale實作

zset sort set 有序集合

更多Redis相關技術文章,請造訪

Redis資料庫使用入門教學欄位學習!

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

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