0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Redis是什么?簡述它的優(yōu)缺點?

麥辣雞腿堡 ? 來源:程序員庫森 ? 作者:程序員庫森 ? 2023-10-09 10:37 ? 次閱讀

Redis是什么?簡述它的優(yōu)缺點?

Redis本質(zhì)上是一個Key-Value類型的內(nèi)存數(shù)據(jù)庫,很像Memcached,整個數(shù)據(jù)庫加載在內(nèi)存當中操作,定期通過異步操作把數(shù)據(jù)庫中的數(shù)據(jù)flush到硬盤上進行保存。

因為是純內(nèi)存操作,Redis的性能非常出色,每秒可以處理超過 10萬次讀寫操作,是已知性能最快的Key-Value 數(shù)據(jù)庫。

優(yōu)點:

讀寫性能極高, Redis能讀的速度是110000次/s,寫的速度是81000次/s。

支持數(shù)據(jù)持久化,支持AOF和RDB兩種持久化方式。

支持事務(wù), Redis的所有操作都是原子性的,意思就是要么成功執(zhí)行要么失敗完全不執(zhí)行。單個操作是原子性的。多個操作也支持事務(wù),即原子性,通過MULTI和EXEC指令包起來。

數(shù)據(jù)結(jié)構(gòu)豐富,除了支持string類型的value外,還支持hash、set、zset、list等數(shù)據(jù)結(jié)構(gòu)。

支持主從復(fù)制,主機會自動將數(shù)據(jù)同步到從機,可以進行讀寫分離。

豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等特性。

缺點:

數(shù)據(jù)庫容量受到物理內(nèi)存的限制,不能用作海量數(shù)據(jù)的高性能讀寫,因此Redis適合的場景主要局限在較小數(shù)據(jù)量的高性能操作和運算上。

2. Redis為什么這么快?

內(nèi)存存儲:Redis是使用內(nèi)存(in-memeroy)存儲,沒有磁盤IO上的開銷。數(shù)據(jù)存在內(nèi)存中,類似于 HashMap,HashMap 的優(yōu)勢就是查找和操作的時間復(fù)雜度都是O(1)。

單線程實現(xiàn)( Redis 6.0以前):Redis使用單個線程處理請求,避免了多個線程之間線程切換和鎖資源爭用的開銷。注意:單線程是指的是在核心網(wǎng)絡(luò)模型中,網(wǎng)絡(luò)請求模塊使用一個線程來處理,即一個線程處理所有網(wǎng)絡(luò)請求。

非阻塞IO:Redis使用多路復(fù)用IO技術(shù),將epoll作為I/O多路復(fù)用技術(shù)的實現(xiàn),再加上Redis自身的事件處理模型將epoll中的連接、讀寫、關(guān)閉都轉(zhuǎn)換為事件,不在網(wǎng)絡(luò)I/O上浪費過多的時間。

優(yōu)化的數(shù)據(jù)結(jié)構(gòu):Redis有諸多可以直接應(yīng)用的優(yōu)化數(shù)據(jù)結(jié)構(gòu)的實現(xiàn),應(yīng)用層可以直接使用原生的數(shù)據(jù)結(jié)構(gòu)提升性能。

使用底層模型不同:Redis直接自己構(gòu)建了 VM (虛擬內(nèi)存)機制 ,因為一般的系統(tǒng)調(diào)用系統(tǒng)函數(shù)的話,會浪費一定的時間去移動和請求。

Redis的VM(虛擬內(nèi)存)機制就是暫時把不經(jīng)常訪問的數(shù)據(jù)(冷數(shù)據(jù))從內(nèi)存交換到磁盤中,從而騰出寶貴的內(nèi)存空間用于其它需要訪問的數(shù)據(jù)(熱數(shù)據(jù))。通過VM功能可以實現(xiàn)冷熱數(shù)據(jù)分離,使熱數(shù)據(jù)仍在內(nèi)存中、冷數(shù)據(jù)保存到磁盤。這樣就可以避免因為內(nèi)存不足而造成訪問速度下降的問題。

Redis提高數(shù)據(jù)庫容量的辦法有兩種:一種是可以將數(shù)據(jù)分割到多個RedisServer上;另一種是使用虛擬內(nèi)存把那些不經(jīng)常訪問的數(shù)據(jù)交換到磁盤上。需要特別注意的是Redis并沒有使用OS提供的Swap,而是自己實現(xiàn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6754

    瀏覽量

    88613
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2942

    瀏覽量

    73728
  • Redis
    +關(guān)注

    關(guān)注

    0

    文章

    369

    瀏覽量

    10810
收藏 人收藏

    評論

    相關(guān)推薦

    nbiot和lora的優(yōu)缺點是什么?

    nbiot和lora的優(yōu)缺點
    發(fā)表于 06-04 06:37

    LED的優(yōu)缺點

    LED的優(yōu)缺點[attach]80908[/attach]
    發(fā)表于 08-20 21:07

    SPI協(xié)議的優(yōu)缺點

    SPI協(xié)議介紹SPI協(xié)議的優(yōu)缺點
    發(fā)表于 12-24 06:29

    LED技術(shù)的優(yōu)缺點

    LED技術(shù)的優(yōu)缺點介紹
    發(fā)表于 01-01 06:05

    FPGA有哪些優(yōu)缺點?

    FPGA到底是什么?FPGA有哪些優(yōu)缺點?FPGA常見的應(yīng)用是什么?
    發(fā)表于 09-18 07:37

    什么是OFDM?有什么優(yōu)缺點?

    什么是OFDM?有什么優(yōu)缺點?OFDM中降低PAPR的方法有哪些?
    發(fā)表于 10-09 07:41

    什么是IoC?具有哪些優(yōu)缺點?

    什么是IoC?具有哪些優(yōu)缺點?
    發(fā)表于 10-21 09:33

    ARM架構(gòu)優(yōu)缺點是什么?

    ARM架構(gòu)優(yōu)缺點是什么?MicroPython項目怎么移植?
    發(fā)表于 01-17 06:40

    LwIP的優(yōu)缺點是什么

    目錄2.1 LwIP 的優(yōu)缺點2.2 LwIP 的文件說明2.2.1 如何獲取 LwIP 源碼文件2.2.2 LwIP 文件說明2.3 使用 vscode 查看源碼2.3.1 查看文件中的符號列表
    發(fā)表于 01-20 06:25

    什么是SPI? SPI優(yōu)缺點是什么?

    什么是SPI?SPI優(yōu)缺點是什么?
    發(fā)表于 02-17 08:00

    ASCII和hex十六進制的優(yōu)缺點是什么?

    ASCII具有哪些優(yōu)缺點?hex十六進制的優(yōu)缺點是什么?
    發(fā)表于 02-18 06:26

    液壓傳動的優(yōu)缺點

    液壓傳動的優(yōu)缺點 液壓傳動之所以能得到廣泛的應(yīng)用,是由于具有以下的主要優(yōu)點: (1)由于液壓傳動是
    發(fā)表于 11-28 18:46 ?9434次閱讀

    簡述FPGA和DSP的優(yōu)缺點及使用場合

    簡述FPGA_和DSP的優(yōu)缺點及使用場合,實用版
    發(fā)表于 02-16 17:07 ?14次下載

    數(shù)字電源和開關(guān)電源的優(yōu)缺點

    電源的優(yōu)缺點 數(shù)字電源是一種基于數(shù)字信號處理的電源。使用數(shù)字信號控制模擬電路的輸出,可以實現(xiàn)很高的精度和可編程性。數(shù)字電源有以下優(yōu)缺點: 1. 優(yōu)點: (1)高精度:數(shù)字電源使用數(shù)字信號控制模擬電路的輸出,具有高精度
    的頭像 發(fā)表于 08-18 15:01 ?2163次閱讀

    redis持久化機制優(yōu)缺點

    Redis是一個基于內(nèi)存的高性能鍵值存儲系統(tǒng),提供了多種持久化機制來保證數(shù)據(jù)的可靠性。本文將詳細介紹Redis的持久化機制,并分析其優(yōu)缺點。 一、
    的頭像 發(fā)表于 12-05 10:03 ?614次閱讀