Redis從入門到進(jìn)階

redis從入門到進(jìn)階

十多年建站經(jīng)驗(yàn), 成都網(wǎng)站建設(shè)、成都做網(wǎng)站客戶的見(jiàn)證與正確選擇。創(chuàng)新互聯(lián)公司提供完善的營(yíng)銷型網(wǎng)頁(yè)建站明細(xì)報(bào)價(jià)表。后期開(kāi)發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。

 

今天跟大家交流一下 Redis的一些學(xué)習(xí)材料,希望通過(guò)今天的分享,能夠帶領(lǐng)大家簡(jiǎn)單入門Redis。

首先介紹一下什么是 Redis? Redis全稱是Remote Dictionary Server,是一種Key-Value類型的開(kāi)源緩存中間件。可用于數(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ù),開(kāi)源的有MongoDB;它可以在消息領(lǐng)域有所建樹(shù),相當(dāng)于卡夫卡,它可有提供streams類型的能力。此外在2019年的Redisconf上,Redis作者演示了一個(gè)實(shí)時(shí)聊天demo,這表明Redis可以把AI能力帶進(jìn)來(lái),可以做機(jī)器學(xué)習(xí)的。大大擴(kuò)展了Redis的疆界,Redis是源于K-V,但是遠(yuǎn)遠(yuǎn)超于K-V。

接下來(lái)介紹一下哪些用戶會(huì)使用到 Redis?;旧蟻?lái)說(shuō)所有的大、中、小型分布式系統(tǒng)應(yīng)用都會(huì)使用到Redis。因?yàn)榫彺媸欠植际较到y(tǒng)中的重要的組件,主要解決高并發(fā)、大數(shù)據(jù)場(chǎng)景之下熱點(diǎn)數(shù)據(jù)的訪問(wèn)的性能問(wèn)題。提供高性能的數(shù)據(jù)快速訪問(wèn)的能力。

接下來(lái)我會(huì)舉幾個(gè)生活中的案例給大家。首先是微信搶紅包的例子,微信搶紅包是一個(gè)很高頻的操作。大家想一下春晚的時(shí)候,有幾十億的華人同時(shí)點(diǎn)擊搶紅包操作,這會(huì)帶來(lái)非常大的流量。如果這個(gè)流量直接壓到數(shù)據(jù)庫(kù)上,那基本上數(shù)據(jù)庫(kù)就直接崩掉了,毫無(wú)疑問(wèn)。但如果在 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í)際的使用過(guò)程中,我們發(fā)現(xiàn)購(gòu)物車的邏輯其實(shí)也是比較多的,因?yàn)樗婕暗劫?zèng)品,它涉及到物品的關(guān)聯(lián)打折,所以它涉及到比較復(fù)雜的SQL操作。在這種情況之下MySQL的操作很容易有性能瓶頸問(wèn)題。曾經(jīng)我們有黑客嘗試考驗(yàn)我們的購(gòu)物車能力,就只是把購(gòu)物車的數(shù)量做自動(dòng)增減,一直并發(fā)的刷,就可以把那個(gè)數(shù)據(jù)庫(kù)給搞壞掉了。我們?cè)趦?yōu)化的過(guò)程中就發(fā)現(xiàn)了這個(gè)性能瓶頸問(wèn)題,把MySQL數(shù)據(jù)庫(kù)卸載成為Redis數(shù)據(jù)庫(kù)。使用Redis之后,有幾個(gè)效果,一是它可以把非關(guān)鍵流量給卸載下來(lái)。那另外一方面,就是我們利用到Redis高性能的能力,能夠把針對(duì)是高頻的一些操作,變成一個(gè)簡(jiǎn)單的一個(gè)K-V操作,那對(duì)整個(gè)系統(tǒng)的效率的提升其實(shí)是有很大的幫助的。除此之外,Redis在很多產(chǎn)品中都有應(yīng)用,比如說(shuō)在小視頻領(lǐng)域中,它可以緩存一些用戶的關(guān)系;比如游戲中的積分排行榜,可以使用到Redis的排行的能力,很快就可以把屬于Top級(jí)的用戶顯示出來(lái);比如在訂票系統(tǒng)里面,可以用Redis來(lái)緩存一些用戶的信息。通過(guò)這種方式,Redis基本上不帶行業(yè)屬性的,可以進(jìn)入到任何一個(gè)分布式系統(tǒng)里面,廣泛應(yīng)用。

以上簡(jiǎn)單介紹了 Redis的發(fā)展概況和使用場(chǎng)景,接下來(lái)還有Redis數(shù)據(jù)結(jié)構(gòu)、實(shí)例參數(shù)配置、備份恢復(fù)與遷移等操作的講解和演示,想要學(xué)習(xí)嗎,立即報(bào)名華為云學(xué)院( https://edu.huaweicloud.com/ )《 Redis超速入門》課程,一起用七天的時(shí)間通過(guò)實(shí)戰(zhàn)環(huán)境快速掌握Redis。

 

 

標(biāo)題名稱:Redis從入門到進(jìn)階
當(dāng)前路徑:http://bm7419.com/article20/pcgojo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、搜索引擎優(yōu)化定制網(wǎng)站、商城網(wǎng)站品牌網(wǎng)站制作、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化