欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

redis中緩存雪崩、緩存擊穿、緩存穿透指的是什么意思-創(chuàng)新互聯(lián)

這篇文章主要介紹了redis中緩存雪崩、緩存擊穿、緩存穿透指的是什么意思,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)建站服務(wù)項目包括開陽網(wǎng)站建設(shè)、開陽網(wǎng)站制作、開陽網(wǎng)頁制作以及開陽網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,開陽網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到開陽省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

什么是redis緩存?

Redis緩存是一個開源的使用ANSIC語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API。

redis緩存的作用是什么?

Redis緩存的使用,極大的提升了應(yīng)用程序的性能和效率,特別是數(shù)據(jù)查詢方面。但同時,它也帶來了一些問題。其中,最要害的問題,就是數(shù)據(jù)的一致性問題,從嚴(yán)格意義上講,這個問題無解。如果對數(shù)據(jù)的一致性要求很高,那么就不能使用緩存。

另外的一些典型問題就是,緩存穿透、緩存雪崩和緩存擊穿。目前,業(yè)界也都有比較流行的解決方案。本篇文章,并不是要更加完美的解決這三個問題,也不是要顛覆業(yè)界流行的解決方案。而是,從實際代碼操作,來演示這三個問題現(xiàn)象。之所以要這么做,是因為,僅僅看這些問題的學(xué)術(shù)解釋,腦袋里很難有一個很形象的概念,有了實際的代碼演示,可以加深對這些問題的理解和認(rèn)識。

緩存穿透

緩存穿透,是指查詢一個數(shù)據(jù)庫一定不存在的數(shù)據(jù)。正常的使用緩存流程大致是,數(shù)據(jù)查詢先進行緩存查詢,如果key不存在或者key已經(jīng)過期,再對數(shù)據(jù)庫進行查詢,并把查詢到的對象,放進緩存。如果數(shù)據(jù)庫查詢對象為空,則不放進緩存。

代碼流程

1、參數(shù)傳入對象主鍵ID

2、根據(jù)key從緩存中獲取對象

3、如果對象不為空,直接返回

4、如果對象為空,進行數(shù)據(jù)庫查詢

5、如果從數(shù)據(jù)庫查詢出的對象不為空,則放入緩存(設(shè)定過期時間)想象一下這個情況,如果傳入的參數(shù)為-1,會是怎么樣?這個-1,就是一定不存在的對象。就會每次都去查詢數(shù)據(jù)庫,而每次查詢都是空,每次又都不會進行緩存。假如有惡意攻擊,就可以利用這個漏洞,對數(shù)據(jù)庫造成壓力,甚至壓垮數(shù)據(jù)庫。即便是采用UUID,也是很容易找到一個不存在的KEY,進行攻擊。

小編在工作中,會采用緩存空值的方式,也就是【代碼流程】中第5步,如果從數(shù)據(jù)庫查詢的對象為空,也放入緩存,只是設(shè)定的緩存過期時間較短,比如設(shè)置為60秒。

(學(xué)習(xí)視頻分享:redis視頻教程)

緩存雪崩

緩存雪崩,是指在某一個時間段,緩存集中過期失效。

產(chǎn)生雪崩的原因之一,比如在寫本文的時候,馬上就要到雙十二零點,很快就會迎來一波搶購,這波商品時間比較集中的放入了緩存,假設(shè)緩存一個小時。那么到了凌晨一點鐘的時候,這批商品的緩存就都過期了。而對這批商品的訪問查詢,都落到了數(shù)據(jù)庫上,對于數(shù)據(jù)庫而言,就會產(chǎn)生周期性的壓力波峰。

小編在做電商項目的時候,一般是采取不同分類商品,緩存不同周期。在同一分類中的商品,加上一個隨機因子。這樣能盡可能分散緩存過期時間,而且,熱門類目的商品緩存時間長一些,冷門類目的商品緩存時間短一些,也能節(jié)省緩存服務(wù)的資源。

其實集中過期,倒不是非常致命,比較致命的緩存雪崩,是緩存服務(wù)器某個節(jié)點宕機或斷網(wǎng)。因為自然形成的緩存雪崩,一定是在某個時間段集中創(chuàng)建緩存,那么那個時候數(shù)據(jù)庫能頂住壓力,這個時候,數(shù)據(jù)庫也是可以頂住壓力的。無非就是對數(shù)據(jù)庫產(chǎn)生周期性的壓力而已。而緩存服務(wù)節(jié)點的宕機,對數(shù)據(jù)庫服務(wù)器造成的壓力是不可預(yù)知的,很有可能瞬間就把數(shù)據(jù)庫壓垮。

緩存擊穿

緩存擊穿,是指一個key非常熱點,在不停的扛著大并發(fā),大并發(fā)集中對這一個點進行訪問,當(dāng)這個key在失效的瞬間,持續(xù)的大并發(fā)就穿破緩存,直接請求數(shù)據(jù)庫,就像在一個屏障上鑿開了一個洞。

小編在做電商項目的時候,把這貨就成為“爆款”。

其實,大多數(shù)情況下這種爆款很難對數(shù)據(jù)庫服務(wù)器造成壓垮性的壓力。達到這個級別的公司沒有幾家的。所以,務(wù)實主義的小編,對主打商品都是早早的做好了準(zhǔn)備,讓緩存永不過期。即便某些商品自己發(fā)酵成了爆款,也是直接設(shè)為永不過期就好了。

大道至簡,mutex key互斥鎖真心用不上。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“redis中緩存雪崩、緩存擊穿、緩存穿透指的是什么意思”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

分享名稱:redis中緩存雪崩、緩存擊穿、緩存穿透指的是什么意思-創(chuàng)新互聯(lián)
分享URL:http://www.chinadenli.net/article42/dcsiec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航商城網(wǎng)站企業(yè)網(wǎng)站制作關(guān)鍵詞優(yōu)化搜索引擎優(yōu)化網(wǎng)頁設(shè)計公司

廣告

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

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