摘要:從入門到進(jìn)階今天跟大家交流一下的一些學(xué)習(xí)材料,希望通過今天的分享,能夠帶領(lǐng)大家簡(jiǎn)單入門。這樣它就只會(huì)把有效的流量透?jìng)鞯綌?shù)據(jù)庫(kù)上,而把大部分的數(shù)據(jù)攔截在這一側(cè),從而達(dá)到了保護(hù)數(shù)據(jù)庫(kù)的作用。
Redis從入門到進(jìn)階
今天跟大家交流一下Redis的一些學(xué)習(xí)材料,希望通過今天的分享,能夠帶領(lǐng)大家簡(jiǎn)單入門Redis。
首先介紹一下什么是Redis? Redis全稱是Remote Dictionary Server,是一種Key-Value類型的開源緩存中間件??捎糜跀?shù)據(jù)庫(kù)前端緩存、事件發(fā)布或訂閱、高速隊(duì)列等多種場(chǎng)景。提供字符串(String)、哈希(Hash)、列表(List)、集合結(jié)構(gòu)(Set、Sorted Set)、流(Stream)等數(shù)據(jù)類型的直接存取。同時(shí)提供了基于內(nèi)存的讀取的方式,可以把內(nèi)存的數(shù)據(jù)同步到磁盤上。Redis是當(dāng)前最流行的內(nèi)存數(shù)據(jù)庫(kù),在AWS最大的公有云廠商,MySQL是數(shù)據(jù)庫(kù)排名第一的,而排名第二的是Redis。數(shù)據(jù)庫(kù)還有一個(gè)流行的排行榜叫DBEngines,DBEngines里面Redis在K-V 存儲(chǔ)里面排名第一,在所有數(shù)據(jù)庫(kù)里面排名第七。除此之外,Redis其實(shí)不僅局限在K-V領(lǐng)域,下圖是在RedisConf最新發(fā)布的一張圖:
在這張圖中可以看得出,Redis除了可以當(dāng)K-V數(shù)據(jù)庫(kù)之外,它還可以當(dāng)做文本搜索,相當(dāng)于Elasticsearch;可以當(dāng)做圖數(shù)據(jù)庫(kù);同時(shí)它可以當(dāng)文檔數(shù)據(jù)庫(kù),開源的有MongoDB;它可以在消息領(lǐng)域有所建樹,相當(dāng)于卡夫卡,它可有提供streams類型的能力。此外在2019年的Redisconf上,Redis作者演示了一個(gè)實(shí)時(shí)聊天demo,這表明Redis可以把AI能力帶進(jìn)來,可以做機(jī)器學(xué)習(xí)的。大大擴(kuò)展了Redis的疆界,Redis是源于K-V,但是遠(yuǎn)遠(yuǎn)超于K-V。
接下來介紹一下哪些用戶會(huì)使用到Redis。基本上來說所有的大、中、小型分布式系統(tǒng)應(yīng)用都會(huì)使用到Redis。因?yàn)榫彺媸欠植际较到y(tǒng)中的重要的組件,主要解決高并發(fā)、大數(shù)據(jù)場(chǎng)景之下熱點(diǎn)數(shù)據(jù)的訪問的性能問題。提供高性能的數(shù)據(jù)快速訪問的能力。
接下來我會(huì)舉幾個(gè)生活中的案例給大家。首先是微信搶紅包的例子,微信搶紅包是一個(gè)很高頻的操作。大家想一下春晚的時(shí)候,有幾十億的華人同時(shí)點(diǎn)擊搶紅包操作,這會(huì)帶來非常大的流量。如果這個(gè)流量直接壓到數(shù)據(jù)庫(kù)上,那基本上數(shù)據(jù)庫(kù)就直接崩掉了,毫無疑問。但如果在MySQL前面加設(shè)一個(gè)Redis,那么可以把MySQL中高頻的、99%以上的流量卸載到Redis上。那我們只需要應(yīng)用的這兩步的操作:首先應(yīng)用先到Redis里面去查取這個(gè)紅包是不是還有還有金額?同時(shí)確認(rèn)人數(shù)是不是達(dá)到了上限。如果條件滿足的情況之下,再對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀取的二次的確認(rèn)操作。這樣它就只會(huì)把有效的流量透?jìng)鞯綌?shù)據(jù)庫(kù)上,而把大部分的數(shù)據(jù)攔截在Redis這一側(cè),從而達(dá)到了保護(hù)MySQL數(shù)據(jù)庫(kù)的作用。
還有一個(gè)案例,就是我們?cè)谌A為商城銷售華為手機(jī)的時(shí)候遇到的購(gòu)物車的案例。購(gòu)物車到底選擇用什么數(shù)據(jù)庫(kù)比較好,我們最早的時(shí)候使用的是MySQL,因?yàn)楫吘顾歉蛻舻臄?shù)據(jù)相關(guān)。但在實(shí)際的使用過程中,我們發(fā)現(xiàn)購(gòu)物車的邏輯其實(shí)也是比較多的,因?yàn)樗婕暗劫?zèng)品,它涉及到物品的關(guān)聯(lián)打折,所以它涉及到比較復(fù)雜的SQL操作。在這種情況之下MySQL的操作很容易有性能瓶頸問題。曾經(jīng)我們有黑客嘗試考驗(yàn)我們的購(gòu)物車能力,就只是把購(gòu)物車的數(shù)量做自動(dòng)增減,一直并發(fā)的刷,就可以把那個(gè)數(shù)據(jù)庫(kù)給搞壞掉了。我們?cè)趦?yōu)化的過程中就發(fā)現(xiàn)了這個(gè)性能瓶頸問題,把MySQL數(shù)據(jù)庫(kù)卸載成為Redis數(shù)據(jù)庫(kù)。使用Redis之后,有幾個(gè)效果,一是它可以把非關(guān)鍵流量給卸載下來。那另外一方面,就是我們利用到Redis高性能的能力,能夠把針對(duì)是高頻的一些操作,變成一個(gè)簡(jiǎn)單的一個(gè)K-V操作,那對(duì)整個(gè)系統(tǒng)的效率的提升其實(shí)是有很大的幫助的。除此之外,Redis在很多產(chǎn)品中都有應(yīng)用,比如說在小視頻領(lǐng)域中,它可以緩存一些用戶的關(guān)系;比如游戲中的積分排行榜,可以使用到Redis的排行的能力,很快就可以把屬于Top級(jí)的用戶顯示出來;比如在訂票系統(tǒng)里面,可以用Redis來緩存一些用戶的信息。通過這種方式,Redis基本上不帶行業(yè)屬性的,可以進(jìn)入到任何一個(gè)分布式系統(tǒng)里面,廣泛應(yīng)用。
以上簡(jiǎn)單介紹了Redis的發(fā)展概況和使用場(chǎng)景,接下來還有Redis數(shù)據(jù)結(jié)構(gòu)、實(shí)例參數(shù)配置、備份恢復(fù)與遷移等操作的講解和演示,想要學(xué)習(xí)嗎,立即報(bào)名華為云學(xué)院(https://edu.huaweicloud.com/)《Redis超速入門》課程,一起用七天的時(shí)間通過實(shí)戰(zhàn)環(huán)境快速掌握Redis。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/17997.html
摘要:菜鳥教程框架中文手冊(cè)入門目標(biāo)使用搭建通過對(duì)數(shù)據(jù)增刪查改沒了純粹占行用的拜 后端API入門學(xué)習(xí)指北 了解一下一下概念. RESTful API標(biāo)準(zhǔn)] 所有的API都遵循[RESTful API標(biāo)準(zhǔn)]. 建議大家都簡(jiǎn)單了解一下HTTP協(xié)議和RESTful API相關(guān)資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設(shè)計(jì)指南 RESTful API指南 依賴注入 D...
摘要:菜鳥教程框架中文手冊(cè)入門目標(biāo)使用搭建通過對(duì)數(shù)據(jù)增刪查改沒了純粹占行用的拜 后端API入門學(xué)習(xí)指北 了解一下一下概念. RESTful API標(biāo)準(zhǔn)] 所有的API都遵循[RESTful API標(biāo)準(zhǔn)]. 建議大家都簡(jiǎn)單了解一下HTTP協(xié)議和RESTful API相關(guān)資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設(shè)計(jì)指南 RESTful API指南 依賴注入 D...
摘要:菜鳥教程框架中文手冊(cè)入門目標(biāo)使用搭建通過對(duì)數(shù)據(jù)增刪查改沒了純粹占行用的拜 后端API入門學(xué)習(xí)指北 了解一下一下概念. RESTful API標(biāo)準(zhǔn)] 所有的API都遵循[RESTful API標(biāo)準(zhǔn)]. 建議大家都簡(jiǎn)單了解一下HTTP協(xié)議和RESTful API相關(guān)資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設(shè)計(jì)指南 RESTful API指南 依賴注入 D...
閱讀 2157·2023-04-25 14:50
閱讀 2949·2021-11-17 09:33
閱讀 2662·2019-08-30 13:07
閱讀 2887·2019-08-29 16:57
閱讀 961·2019-08-29 15:26
閱讀 3609·2019-08-29 13:08
閱讀 2048·2019-08-29 12:32
閱讀 3448·2019-08-26 13:57