重新認識Redis

這是第一篇Redis的分享,開頭主要就是對Redis的整體涉及的模塊以及一些應(yīng)用場景包括運維等會做一些粗劣的說明。

初識Redis

  1. 1Redis簡介廊驼。
   官方翻譯
   Redis是一個開源(BSD許可)犹芹,內(nèi)存存儲的數(shù)據(jù)結(jié)構(gòu)服務(wù)器,可用作數(shù)據(jù)庫阁苞,
    高速緩存和消息隊列代理困檩。它支持字符串、哈希表那槽、列表悼沿、集合、有序集合骚灸,位圖糟趾,
    hyperloglogs等數(shù)據(jù)類型。內(nèi)置復(fù)制甚牲、Lua腳本义郑、LRU收回、事務(wù)以及不同級別磁盤持久化功能丈钙,
  同時通過Redis Sentinel提供高可用非驮,通過Redis Cluster提供自動分區(qū)。
   Redis[1]是一種基于鍵值對(key-value)的NoSQL數(shù)據(jù)庫雏赦,與很多鍵值對
   數(shù)據(jù)庫不同的是劫笙,Redis中的值可以是由string(字符串)芙扎、hash(哈希)、
   list(列表)填大、set(集合)戒洼、zset(有序集合)、Bitmaps(位圖)允华、
   HyperLogLog施逾、GEO(地理信息定位)等多種數(shù)據(jù)結(jié)構(gòu)和算法組成,因此
   Redis可以滿足很多的應(yīng)用場景例获,而且因為Redis會將所有數(shù)據(jù)都存放在內(nèi)存中汉额,
   所以它的讀寫性能非常驚人。不僅如此榨汤,Redis還可以將內(nèi)存的數(shù)據(jù)利用快照和日志的形式
   保存到硬盤上蠕搜,這樣在發(fā)生類似斷電或者機器故障的時候复亏,內(nèi)存中的  數(shù)據(jù)不會“丟失”四濒。
   除了上述功能以外,Redis還提供了鍵過期率触、發(fā)布訂閱蜜宪、事務(wù)虫埂、流水線、Lua腳本等附加功能圃验。
   
   [1]  http://redis.io
   [2]  http://antirez.com
   [3]  https://github.com/antirez/redisredis特性

redis特性


1.運行速度快

原因: 
    1.數(shù)據(jù)是存放在內(nèi)存的
    2.使用單線程掉伏,預(yù)防了多線程可能產(chǎn)生的競爭問題
    3.redis是使用c語言開發(fā)的,距離操作系統(tǒng)更近澳窑,執(zhí)行速度更快斧散。
    4.Redis源代碼十分精簡。
  1. 基于鍵值對的數(shù)據(jù)結(jié)構(gòu)服務(wù)器摊聋。
    了解  
  很多鍵值對數(shù)據(jù)庫不同的是鸡捐,Redis中的值不僅可以是字符串,而且還可以是具
  體的數(shù)據(jù)結(jié)構(gòu)麻裁,這樣不僅能便于在許多應(yīng)用場景的開發(fā)箍镜,同時也能夠提高開發(fā)效率。
  Redis的全稱是REmote Dictionary Server煎源,它主要提供了5種數(shù)據(jù)結(jié)
  構(gòu):字符串色迂、哈希、列表薪夕、集合脚草、有序集合赫悄,同時在字符串的基礎(chǔ)之上演變出了位圖(Bitmaps)
  和HyperLogLog兩種神奇的“數(shù)據(jù)結(jié)構(gòu)”原献,并且隨著LBS(Location Based Service馏慨,
  基于位置服務(wù))的不斷發(fā)展,Redis3.2版本中加入有關(guān)GEO(地理信息定位)的功能姑隅,
  總之在這些數(shù)據(jù)結(jié)構(gòu)的幫助下写隶,開發(fā)者可以開發(fā)出各種“有意思”的應(yīng)用。
  
  1. 功能豐富

    • 提供鍵過期功能讲仰,實現(xiàn)緩存
    • 提供了發(fā)布訂閱功能慕趴,實現(xiàn)消息系統(tǒng)
    • 支持Lua腳本功能,可以利用它創(chuàng)造新的Redis命令
    • 提供了簡單的事務(wù)功能
    • 提供了流水線的功能鄙陡,能夠?qū)edis命令一次性傳到服務(wù)端冕房,減少網(wǎng)絡(luò)開銷
    • 。趁矾。耙册。。毫捣。详拙。。

    4.持久化

    5.主從復(fù)制

    8.高可用分布式

使用場景

  1. 緩存-----提供了過期時間設(shè)置蔓同,還有靈活控最大內(nèi)存和內(nèi)存溢出后淘汰策略
  2. 排行榜系統(tǒng)--根據(jù)按照熱度饶辙,按照發(fā)布時間等計算的排行榜,redis提供了列表和有序集合結(jié)構(gòu)斑粱,合理的使用可以方便的構(gòu)建很多系統(tǒng)弃揽。
  3. 計算器應(yīng)用------redis天然支持計算功能
  4. 社交網(wǎng)絡(luò)---點贊,粉絲则北,共同好友蹋宦,推送,下拉刷新等實現(xiàn)咒锻,訪問量很大冷冗,傳統(tǒng)的關(guān)系型不適合保存這些數(shù)據(jù)
  5. 消息隊列系統(tǒng)-----redis提供了發(fā)布訂閱和堵塞隊列功能,
  6. 等等

不可使用

可以站在數(shù)據(jù)規(guī)模和數(shù)據(jù)冷熱的角度來進行分析惑艇。

站在數(shù)據(jù)規(guī)模的角度看蒿辙,數(shù)據(jù)可以分為大規(guī)模數(shù)據(jù)和小規(guī)模數(shù)據(jù),我們知道Redis的數(shù)據(jù)是存放在內(nèi)存中的滨巴,雖然現(xiàn)在內(nèi)存已經(jīng)足夠便宜思灌,但是如果數(shù)據(jù)量非常大,例如每天有幾億的用戶行為數(shù)據(jù)恭取,
使用Redis來存儲的話泰偿,基本上是個無底洞,經(jīng)濟成本相當?shù)母摺?/p>

站在數(shù)據(jù)冷熱的角度看蜈垮,數(shù)據(jù)分為熱數(shù)據(jù)和冷數(shù)據(jù)耗跛,熱數(shù)據(jù)通常是指需要頻繁操作的數(shù)據(jù)裕照,反之為冷數(shù)據(jù),例如對于視頻網(wǎng)站來說调塌,視頻基本信息基本上在各個業(yè)務(wù)線都是經(jīng)常要操作的數(shù)據(jù)晋南,而用戶的觀看記錄不一定是經(jīng)常需要訪問的數(shù)據(jù),這里暫且不討論兩者數(shù)據(jù)規(guī)模的差異羔砾,單純站在數(shù)據(jù)冷熱的角度上看负间,視頻信息屬于熱數(shù)據(jù),用戶觀看記錄屬于冷數(shù)據(jù)姜凄。如果將這些冷數(shù)據(jù)放在Redis中政溃,基本上是對于內(nèi)存的一種浪費,但是對于一些熱數(shù)據(jù)可以放在Redis中加速讀寫态秧,也可以減輕后端存儲的負載玩祟,可以說是事半功倍。所以屿聋,Redis并不是萬金油空扎,相信隨著我們對Redis的逐步學(xué)習,能夠清楚Redis真正的使用場景润讥。

如何學(xué)好redis

  1. 切勿當作黑盒使用转锈,開發(fā)與運維同樣重要

2.閱讀源碼

? Redis是開源項目,由于作者對Redis代碼的極致追求楚殿,Redis的代碼量相對于許多NoSQL數(shù)據(jù)庫來說是非常小的撮慨,也就意味著作為普通的開發(fā)和運維人員也是可以“吃透”Redis的。通過閱讀優(yōu)秀的源碼脆粥,不僅能夠加深我們對于Redis的理解砌溺,而且還能提高自身的編碼水平,甚至可以對Redis做定制化变隔,也就是說可以修改Redis的源碼來滿足自身的需求规伐,例如新浪微博在Redis的早期版本上做了很多的定制化來滿足自身的需求,豌豆莢也開源基于Proxy的Redis分布式實現(xiàn)Codis.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末匣缘,一起剝皮案震驚了整個濱河市猖闪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肌厨,老刑警劉巖培慌,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異柑爸,居然都是意外死亡吵护,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來馅而,“玉大人祥诽,你說我怎么就攤上這事∮米Γ” “怎么了原押?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵胁镐,是天一觀的道長偎血。 經(jīng)常有香客問我,道長盯漂,這世上最難降的妖魔是什么颇玷? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮就缆,結(jié)果婚禮上帖渠,老公的妹妹穿的比我還像新娘。我一直安慰自己竭宰,他們只是感情好空郊,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著切揭,像睡著了一般狞甚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上廓旬,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天哼审,我揣著相機與錄音,去河邊找鬼孕豹。 笑死涩盾,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的励背。 我是一名探鬼主播春霍,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼叶眉!你這毒婦竟也來了终畅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤竟闪,失蹤者是張志新(化名)和其女友劉穎离福,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體炼蛤,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡妖爷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片絮识。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡绿聘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出次舌,到底是詐尸還是另有隱情熄攘,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布彼念,位于F島的核電站挪圾,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏逐沙。R本人自食惡果不足惜哲思,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吩案。 院中可真熱鬧棚赔,春花似錦、人聲如沸徘郭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽残揉。三九已至胧后,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冲甘,已是汗流浹背绩卤。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留江醇,地道東北人濒憋。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像陶夜,于是被迫代替她去往敵國和親凛驮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

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