Redis特性

Redis特性總覽

速度快

官方給出的數(shù)據(jù)是10w OPS,也就是每秒可以實(shí)現(xiàn)10萬(wàn)次讀寫(xiě)短荐,雖然官方給出的數(shù)據(jù)通常會(huì)偏高一些,但是從實(shí)際使用來(lái)看達(dá)到萬(wàn)級(jí)別的OPS是基本沒(méi)有問(wèn)題的叹哭,當(dāng)然這也和使用的方法以及具體的數(shù)據(jù)是有關(guān)的忍宋,這里我們不做具體討論。
Redis之所以這么快有這么幾點(diǎn)原因风罩,數(shù)據(jù)是存在內(nèi)存中糠排,源代碼使用C語(yǔ)言編寫(xiě),代碼短小精悍超升,使用的是線程模型是單線程入宦。
這里使用單線程主要是因?yàn)閮?nèi)存讀寫(xiě)速度非常快室琢,使用單線程能達(dá)到很高的性能乾闰,很多實(shí)際開(kāi)發(fā)當(dāng)中,多線程往往會(huì)成為我們并發(fā)的瓶頸盈滴。

其實(shí)速度塊最主要的原因就是內(nèi)存涯肩。無(wú)論代碼寫(xiě)的多好,或者使用什么線程模型巢钓,如果數(shù)據(jù)是存在一個(gè)比較慢的介質(zhì)當(dāng)中病苗,那性能也不會(huì)很高。
相信學(xué)過(guò)計(jì)算機(jī)專業(yè)的同學(xué)對(duì)下面這張圖一定不陌生竿报,該圖展示了計(jì)算機(jī)存儲(chǔ)的各個(gè)介質(zhì)铅乡,從上到下包括寄存器、一級(jí)緩存烈菌、二級(jí)緩存阵幸、內(nèi)存花履、本地硬盤(pán)、遠(yuǎn)程硬盤(pán)挚赊,從上到下它的速度是由快至慢诡壁,容量由小到大,價(jià)格由高到低荠割。

內(nèi)存與硬盤(pán)對(duì)比

持久化

我們知道Redis是將數(shù)據(jù)保存在內(nèi)存中妹卿,而內(nèi)存的數(shù)據(jù)不具有持久化的特性,也就是說(shuō)當(dāng)機(jī)器發(fā)生斷電時(shí)蔑鹦,是無(wú)法對(duì)內(nèi)存的數(shù)據(jù)進(jìn)行恢復(fù)的夺克,為此Redis就提供了持久化的功能。
Redis所有數(shù)據(jù)保存在內(nèi)存中嚎朽,對(duì)數(shù)據(jù)的更新將異步的保存到磁盤(pán)上铺纽。
Redis提供了RDBAOF兩種方式對(duì)數(shù)據(jù)進(jìn)行持久化。

多種數(shù)據(jù)結(jié)構(gòu)

Redis提供了5種主要的數(shù)據(jù)結(jié)構(gòu):String哟忍、Hash狡门、List、Set锅很、Sorted Set
除此之外其馏,在Redis的后續(xù)版本以及迭代當(dāng)中,也提供了一些其他的(衍生的)數(shù)據(jù)結(jié)構(gòu):
BitMaps: 位圖(本質(zhì)是字符串)
HyperLogLog: 超小內(nèi)存唯一值計(jì)數(shù)(本質(zhì)是字符串)
GEO: 地理信息定位(Redis3.2提供爆安,本質(zhì)是有序集合)

支持多種客戶端語(yǔ)言

由于Redis受到了很多公司的支持叛复,以及Redis提供了一個(gè)非常簡(jiǎn)單的基于TCP的通信協(xié)議,所以說(shuō)非常多的編程語(yǔ)言都主動(dòng)去支持Redis服務(wù)器鹏控。包括但不限于以下所有語(yǔ)言致扯,所以這也是Redis非常受歡迎的原因之一

功能豐富

Redis除了提供5種主要數(shù)據(jù)結(jié)構(gòu)以外,還提供了很多其他的功能当辐,像發(fā)布訂閱可以實(shí)現(xiàn)很多消息的功能抖僵,同時(shí)還支持Lua腳本,這樣可以實(shí)現(xiàn)一些自定義命令缘揪,同時(shí)還支持簡(jiǎn)單的事務(wù)功能耍群、最后Redis也支持pipeline來(lái)提高客戶端的并發(fā)效率。
總之如果將Redis使用好的話找筝,它會(huì)像一把瑞士軍刀一樣無(wú)所不能蹈垢。

簡(jiǎn)單

Redis的單機(jī)核心代碼只有23000行,redis3.0提供了更豐富的集群分布式功能(代碼大約4-5萬(wàn)行)袖裕,如果想真正吃透Redis這個(gè)項(xiàng)目曹抬,都可以去閱讀它的源代碼,甚至有些企業(yè)可以去修改它的源代碼來(lái)實(shí)現(xiàn)自己業(yè)務(wù)的定制化急鳄。
Redis的簡(jiǎn)單還體現(xiàn)在它不依賴外部庫(kù)(like libevent)谤民,同時(shí)它是一個(gè)單線程模型堰酿,這意味著無(wú)論是服務(wù)端還是客戶端的開(kāi)發(fā)都會(huì)相對(duì)容易一些。

主從復(fù)制

Redis提供了主從復(fù)制的功能张足,也就是說(shuō)在Redis中有兩種角色触创,主服務(wù)器和從服務(wù)器,主服務(wù)器的數(shù)據(jù)可以同步到從服務(wù)器中为牍,這樣可以為高可用以及分布式提供一個(gè)很好的基礎(chǔ)哼绑。

高可用、分布式

本身Redis的單點(diǎn)或者說(shuō)Redis的主從復(fù)制模型對(duì)于實(shí)現(xiàn)一個(gè)高可用的數(shù)據(jù)庫(kù)來(lái)說(shuō)是比較困難的甚至是幾乎不可能的碉咆。
因此Redis在2.8版本當(dāng)中提供了Redis-Sentinel這樣的功能來(lái)支持高可用抖韩。
其次對(duì)于一個(gè)數(shù)據(jù)庫(kù)來(lái)說(shuō),分布式功能對(duì)于當(dāng)下的企業(yè)也是非常重要的疫铜,所以Redis從3.0版本開(kāi)始正式支持分布式帽蝶,也就是Redis-Cluster

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市块攒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌佃乘,老刑警劉巖囱井,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異趣避,居然都是意外死亡庞呕,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)程帕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)住练,“玉大人,你說(shuō)我怎么就攤上這事愁拭〗补洌” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵岭埠,是天一觀的道長(zhǎng)盏混。 經(jīng)常有香客問(wèn)我,道長(zhǎng)惜论,這世上最難降的妖魔是什么许赃? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮馆类,結(jié)果婚禮上混聊,老公的妹妹穿的比我還像新娘。我一直安慰自己乾巧,他們只是感情好句喜,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布预愤。 她就那樣靜靜地躺著,像睡著了一般藤滥。 火紅的嫁衣襯著肌膚如雪鳖粟。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天拙绊,我揣著相機(jī)與錄音向图,去河邊找鬼。 笑死标沪,一個(gè)胖子當(dāng)著我的面吹牛榄攀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播金句,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼檩赢,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了违寞?” 一聲冷哼從身側(cè)響起贞瞒,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎趁曼,沒(méi)想到半個(gè)月后军浆,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡挡闰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年乒融,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摄悯。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赞季,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奢驯,到底是詐尸還是另有隱情申钩,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布叨橱,位于F島的核電站典蜕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏罗洗。R本人自食惡果不足惜愉舔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伙菜。 院中可真熱鬧轩缤,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至馏鹤,卻和暖如春征椒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背湃累。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工勃救, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人治力。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓蒙秒,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親宵统。 傳聞我的和親對(duì)象是個(gè)殘疾皇子晕讲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,905評(píng)論 2 89
  • 轉(zhuǎn)載地址:http://gnucto.blog.51cto.com/3391516/998509 Redis與Me...
    Ddaidai閱讀 21,444評(píng)論 0 82
  • 我的個(gè)人主頁(yè):螞蟻的寶藏 傳統(tǒng)數(shù)據(jù)庫(kù)遵循ACID原則,而NOSQL遵循CAP原則马澈。Consistency(一致性)...
    螞蟻的寶藏閱讀 525評(píng)論 0 0
  • 2018年6月20日 星期三 晴 上次和李菊討論過(guò)瓢省,如無(wú)必要,別說(shuō)不好聽(tīng)的話痊班。別人跟你說(shuō)他喜歡民謠净捅,你可以只是聽(tīng)聽(tīng)...
    薛其雱閱讀 1,649評(píng)論 0 1
  • 2018.6.25 第202天 對(duì)于當(dāng)事人的改變,sf BT是以這樣的心態(tài)來(lái)看待之辩块,當(dāng)事人接受咨詢后能有一點(diǎn)小小...
    鵑花開(kāi)閱讀 111評(píng)論 0 0