日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

缓存中常见的概念及解决方案

發(fā)布時間:2024/4/17 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 缓存中常见的概念及解决方案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

緩存中常見的概念及解決方案


緩存穿透

1、概念

用戶查詢數(shù)據(jù),在數(shù)據(jù)庫中以及緩存中(redis)都查詢不到,導(dǎo)致每次請求來時,緩存(redis)中查詢一次,數(shù)據(jù)庫查詢一次,最后返回空,每次請求都會有倆次無用的查詢,緩存命中率低

2、解決方案

1) 對null值設(shè)置緩存,每隔一段時間過期
2) 使用布隆過濾器緩存需要的值,直接過濾 掉找不到值得key

緩存雪崩

1、概念

緩存(redis)服務(wù)掛掉,緩存在同一時間發(fā)生大面積的實(shí)效,請求每次查完數(shù)據(jù)未能將數(shù)據(jù)緩存倒數(shù)據(jù)庫中,導(dǎo)致所有的請求都會去查詢數(shù)據(jù)庫,造成同一時間數(shù)據(jù)庫的cpu及內(nèi)存負(fù)載過高的問題,甚至宕機(jī)。

2、解決方案

1)redis高可用,使用哨兵部署或者集群部署模式,保證緩存服務(wù)的高可用
2)為key設(shè)置不同的過期時間,讓key的過期時間均衡分布,防止同一時間緩存大面積的實(shí)效。
3)使用鎖和隊列,對請求進(jìn)行異步處理,降低數(shù)據(jù)庫的壓力。
4)使用緩存降級策略(使用guava或ehcache等本地緩存 或者對服務(wù)訪問進(jìn)行限流、熔斷及降級)

緩存擊穿

1、概念

某個key非常熱點(diǎn),在不停的坑著大并發(fā),大并發(fā)集中對這一個點(diǎn)進(jìn)行訪問,當(dāng)這個key失效的瞬間,持續(xù)的高并發(fā)會擊破緩存,直接請求數(shù)據(jù)庫,導(dǎo)致數(shù)據(jù)庫的cpu及內(nèi)存負(fù)載過高,甚至宕機(jī)。

2、解決方案

1)設(shè)置某些熱點(diǎn)key的過期時間(延長或者永不過期)
2) mutex key互斥鎖

轉(zhuǎn)載于:https://www.cnblogs.com/jakaBlog/p/10759519.html

總結(jié)

以上是生活随笔為你收集整理的缓存中常见的概念及解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。