溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用redis有什么優(yōu)點(diǎn)

發(fā)布時(shí)間:2020-06-25 13:49:36 來源:億速云 閱讀:251 作者:Leah 欄目:關(guān)系型數(shù)據(jù)庫

使用redis有什么優(yōu)點(diǎn)?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

redis是非關(guān)系型內(nèi)存數(shù)據(jù)庫 數(shù)據(jù)存儲(chǔ)于內(nèi)存中,內(nèi)存讀取速度非???,如果只是簡單的 key-value,內(nèi)存不是瓶頸。一般情況下,hash 查找可以達(dá)到每秒數(shù)百萬次的數(shù)量級。

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

內(nèi)部實(shí)現(xiàn)采用epoll,采用了epoll+自己實(shí)現(xiàn)的簡單的事件框架。epoll中的讀、寫、關(guān)閉、連接都轉(zhuǎn)化成了事件,然后利用epoll的多路復(fù)用特性,絕不在io上浪費(fèi)一點(diǎn)時(shí)間

因?yàn)镽edis的操作都非??焖佟臄?shù)據(jù)全部在內(nèi)存里,完全不需要訪問磁盤。至于并發(fā),Redis 使用多路 I/O 復(fù)用技術(shù),本身的并發(fā)效率不成問題。

當(dāng)然,單個(gè) Redis 進(jìn)程沒辦法使用多核(任一時(shí)刻只能跑在一個(gè) CPU 核心上),但是它本來就不是非常計(jì)算密集型的服務(wù)。如果單核性能不夠用,可以多開幾個(gè)進(jìn)程。

Redis采用了單線程的模型,保證了每個(gè)操作的原子性,也減少了線程的上下文切換和競爭。

另外,數(shù)據(jù)結(jié)構(gòu)也幫了不少忙,Redis全程使用hash結(jié)構(gòu),讀取速度快,還有一些特殊的數(shù)據(jù)結(jié)構(gòu),對數(shù)據(jù)存儲(chǔ)進(jìn)行了優(yōu)化,如壓縮表,對短數(shù)據(jù)進(jìn)行壓縮存儲(chǔ),再如,跳表,使用有序的數(shù)據(jù)結(jié)構(gòu)加快讀取的速度。

還有一點(diǎn),Redis采用自己實(shí)現(xiàn)的事件分離器,效率比較高,內(nèi)部采用非阻塞的執(zhí)行方式,吞吐能力比較大。

string 類型,二進(jìn)制安全的

hash 類型,是一個(gè)鍵值對的集合

List列表 底層是個(gè)鏈表

set 集合 無需的 通過hashtale實(shí)現(xiàn)

zset sort set 有序集合

關(guān)于使用redis有什么優(yōu)點(diǎn)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI