久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>職場>前端設置強緩存和協商緩存(面試官緩存穿透)

前端設置強緩存和協商緩存(面試官緩存穿透)

發布時間:2024-01-24閱讀(13)

導讀前言原創公眾號:bigsai對于緩存穿透、緩存雪崩和緩存擊穿常常出現在面試中,今天來看看它到底是啥吧?redis緩存穿透理解重在穿透吧,也就是訪問透過red....前言

原創公眾號:bigsai

對于緩存穿透、緩存雪崩和緩存擊穿常常出現在面試中,今天來看看它到底是啥吧?

前端設置強緩存和協商緩存(面試官緩存穿透)(1)

前端設置強緩存和協商緩存(面試官緩存穿透)(2)

redis緩存穿透

前端設置強緩存和協商緩存(面試官緩存穿透)(3)

理解

  • 重在穿透吧,也就是訪問透過redis直接經過mysql,通常是一個不存在的key,在數據庫查詢為null。每次請求落在數據庫、并且高并發。數據庫扛不住會掛掉。

解決方案

  • 可以將查到的null設成該key的緩存對象。
  • 當然,也可以根據明顯錯誤的key在邏輯層就就行驗證。
  • 同時,你也可以分析用戶行為,是否為故意請求或者爬蟲、攻擊者。針對用戶訪問做限制。
  • 其他等等,比如用布隆過濾器(超大型hashmap)先過濾。
redis緩存雪崩

理解

  • 雪崩,就是某東西蜂擁而至的意思,像雪崩一樣。在這里,就是redis緩存集體大規模集體失效,在高并發情況下突然使得key大規模訪問mysql,使得數據庫崩掉??梢韵胂笙聡胰丝诶夏昊?。以后那天人集中在70-80歲,就沒人干活了。國家勞動力就造成壓力。在這里插入圖片描述

解決方案

  • 通常的解決方案是將key的過期時間后面加上一個隨機數,讓key均勻的失效。
  • 考慮用隊列或者鎖讓程序執行在壓力范圍之內,當然這種方案可能會影響并發量。
  • 熱點數據可以考慮不失效
redis緩存擊穿

理解

緩存擊穿,是指一個key非常熱點,在不停的扛著大并發,大并發集中對這一個點進行訪問,當這個key在失效的瞬間,持續的大并發就穿破緩存,直接請求數據庫,好像蠻力擊穿一樣。

前端設置強緩存和協商緩存(面試官緩存穿透)(4)

  • 擊穿和穿透不同,穿透的意思是想法繞過redis去使得數據庫崩掉。而擊穿你可以理解為正面剛擊穿,這種通常為大量并發對一個key進行大規模的讀寫操作。這個key在緩存失效期間大量請求數據庫,對數據庫造成太大壓力使得數據庫崩掉。就比如在秒殺場景下10000塊錢的mac和100塊的mac這個100塊的那個訂單肯定會被搶到爆,不斷的請求(當然具體秒殺有自己處理方式這里只是舉個例子)。所以緩存擊穿就是針對某個常用key大量請求導致數據庫崩潰。

解決方案

  • 可以使用互斥鎖避免大量請求同時落到db。
  • 布隆過濾器,判斷某個容器是否在集合中
  • 可以將緩存設置永不過期(適合部分情況)
  • 做好熔斷、降級,防止系統崩潰。

原創公眾號:「bigsai」,私信博主bigsai獲取8G pdf資源!歡迎點贊、關注、轉發支持,謝謝!

在這里插入圖片描述

歡迎分享轉載→http://m.avcorse.com/read-220507.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖