成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試被吊打系列-Redis緩存血崩

存儲(chǔ) 存儲(chǔ)軟件 Redis
redis的話我們主要是用來存儲(chǔ)一些常用的配置類數(shù)據(jù)還有一些熱點(diǎn)數(shù)據(jù);還有存儲(chǔ)一些到期失效的數(shù)據(jù),比如登錄用戶頒發(fā)的token等。

[[374569]]

本文轉(zhuǎn)載自微信公眾號(hào)「JAVA日知錄」,作者單一色調(diào)。轉(zhuǎn)載本文請(qǐng)聯(lián)系JAVA日知錄公眾號(hào)。  

小張興沖沖去面試,結(jié)果因?yàn)閞edis的緩存雪崩問題被面試官拒絕!

小張:面試官,你好。我是來參加面試的。

面試官:你好,小張。我看了你的簡(jiǎn)歷,你們平時(shí)在項(xiàng)目中用了redis,能說一下你們使用redis的場(chǎng)景嗎?

小張:redis的話我們主要是用來存儲(chǔ)一些常用的配置類數(shù)據(jù)還有一些熱點(diǎn)數(shù)據(jù);還有存儲(chǔ)一些到期失效的數(shù)據(jù),比如登錄用戶頒發(fā)的token等。

面試官:那好,既然你們用來存儲(chǔ)熱點(diǎn)數(shù)據(jù)。那么我來問你個(gè)實(shí)際場(chǎng)景,「查詢熱點(diǎn)數(shù)據(jù)的時(shí)候會(huì)先從緩存加載,如果緩存沒有命中則會(huì)檢索數(shù)據(jù)庫獲取數(shù)據(jù)。往往我們還會(huì)給熱點(diǎn)緩存數(shù)據(jù)設(shè)置一個(gè)過期時(shí)間。那么我的問題是,假設(shè)在某一時(shí)間點(diǎn)熱點(diǎn)緩存全部過期失效了,這樣所有的請(qǐng)求都會(huì)直接進(jìn)入數(shù)據(jù)庫,一瞬間就會(huì)把數(shù)據(jù)庫壓垮,如果是你會(huì)怎么解決這個(gè)問題?」

小張:emm...面試官,我肚子有點(diǎn)不舒服,我先回去了。小張卒!

面試官:因?yàn)榫彺嫱粫r(shí)間大面積的失效,或者緩存服務(wù)暫時(shí)不能提供服務(wù)等,從而導(dǎo)致所有請(qǐng)求都去查數(shù)據(jù)庫,導(dǎo)致數(shù)據(jù)庫CPU和內(nèi)存負(fù)載過高,甚至宕機(jī)。這一現(xiàn)象被稱之為 「緩存雪崩」。

緩存血崩可以通過以下四個(gè)維度來解決:

「緩存預(yù)熱」

數(shù)據(jù)加熱的含義就是在正式部署之前,先把可能的數(shù)據(jù)先預(yù)先訪問一遍,這樣部分可能大量訪問的數(shù)據(jù)就會(huì)加載到緩存中。在即將發(fā)生大并發(fā)訪問前手動(dòng)觸發(fā)加載緩存不同的key。

「加上互斥鎖」

可以在第一個(gè)查詢數(shù)據(jù)的請(qǐng)求上使用一個(gè)互斥鎖來鎖住它,其他的線程走到這一步拿不到鎖就等著,等第一個(gè)線程查詢到了數(shù)據(jù),然后將數(shù)據(jù)放到redis緩存起來。后面的線程進(jìn)來發(fā)現(xiàn)已經(jīng)有緩存了,就直接走緩存。

「過期時(shí)間均勻分布」

給緩存的時(shí)效時(shí)間加上隨機(jī)因子,即給緩存設(shè)置不同的過期時(shí)間,讓緩存失效的時(shí)間點(diǎn)盡量均勻。

「構(gòu)建高可用的緩存系統(tǒng)」

把Redis設(shè)計(jì)成高可用的,即使個(gè)別節(jié)點(diǎn)、個(gè)別機(jī)器、甚至是機(jī)房宕掉,依然可以提供服務(wù),例如 Redis Sentinel 和 Redis Cluster 都實(shí)現(xiàn)了高可用。

面試官:各位看官朋友們,你們學(xué)會(huì)怎么解決緩存雪崩的問題了嗎?希望你們以后面試不會(huì)被這個(gè)問題難倒喲~

小張:學(xué)到了學(xué)到了,我下次再來。(早知道不提什么熱點(diǎn)數(shù)據(jù)了,不提面試官就不會(huì)問。)

面試官:小樣,不問這個(gè)那么我不會(huì)問其他的了嗎?你下次再來試試!

 

責(zé)任編輯:武曉燕 來源: JAVA日知錄
相關(guān)推薦

2021-01-18 11:49:26

面試事務(wù)隔離

2023-12-06 13:38:00

Redis緩存穿透緩存擊穿

2021-03-04 08:06:17

Redis面試模型

2020-04-29 09:30:48

Google面試題工程師

2020-11-30 11:01:34

反射用途實(shí)現(xiàn)

2021-06-05 09:01:01

Redis緩存雪崩緩存穿透

2019-08-06 19:36:25

RedisMemcached緩存

2021-04-13 10:41:25

Redis內(nèi)存數(shù)據(jù)庫

2023-10-04 19:43:38

2017-04-10 13:30:47

Redis數(shù)據(jù)庫命令

2024-08-19 09:13:02

2020-06-17 08:53:19

Redis集群SSH

2022-08-28 16:31:11

緩存雪崩

2024-06-04 07:38:10

2023-03-10 13:33:00

緩存穿透緩存擊穿緩存雪崩

2019-10-12 14:19:05

Redis數(shù)據(jù)庫緩存

2024-11-11 17:12:22

2020-09-15 10:25:13

Redis命令Java

2019-04-26 14:12:19

MySQL數(shù)據(jù)庫隔離級(jí)別

2017-05-09 08:27:42

分布式緩存技術(shù)Spring Redi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产网站在线免费观看 | 超碰在线人人干 | 黄色网址av| 国产亚洲精品久久久久久牛牛 | 欧美精品二区 | 日韩视频在线一区 | 青青久在线视频 | 日本久久精品视频 | 亚洲精品久久久久久久久久久 | 欧美精品v国产精品v日韩精品 | 国产成人亚洲精品 | 精品国产一区二区三区久久久久久 | 日韩欧美国产精品一区 | 久久日韩精品一区二区三区 | 亚洲一区国产 | 毛片a区 | 日韩成人 | 99精品欧美一区二区蜜桃免费 | 天天弄天天操 | 欧美福利 | 欧美激情精品久久久久久 | 天天操天天射天天舔 | 国产在线精品一区 | 欧美女优在线观看 | 久久五月婷 | 天天射影院 | 色狠狠一区 | 小草久久久久久久久爱六 | 久久久久久成人 | 日本三级日产三级国产三级 | 婷婷综合激情 | 精品国产一区二区三区久久久久久 | 91av久久久 | 欧美激情精品久久久久 | 欧美日韩国产一区二区三区 | 久久成人精品视频 | 久久三区 | 这里精品| 成人在线中文字幕 | 亚洲精品日日夜夜 | 9191在线播放 |