最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis 緩存問題及解決

 更新時間:2024年07月01日 11:59:38   作者:重慶大傑  
網(wǎng)上收集的一些經(jīng)典特效,這里因為篇幅較長,不加整理了,想運行的代碼的朋友可以點擊textarea中,全選復(fù)制即可。

一,緩存穿透(key在數(shù)據(jù)庫不存在)

  • 當(dāng)數(shù)據(jù)既不在緩存中,也不在數(shù)據(jù)庫中,導(dǎo)致請求訪問緩存沒數(shù)據(jù),訪問數(shù)據(jù)庫也沒數(shù)據(jù),即 每次都一穿到底。

  • 當(dāng)有大量這樣的請求到來時,數(shù)據(jù)庫的壓力驟增。

解決:

  1. 對請求過濾:參數(shù)檢查、黑名單、白名單等,直接拒絕。

  2. 緩存空值:對查詢不存在的數(shù)據(jù)也緩存下來(值為null),并設(shè)置較短過期時間。

  3. 使用布隆過濾器快速判斷數(shù)據(jù)是否存在,避免通過查詢數(shù)據(jù)庫來判斷(使用bitmaps實現(xiàn)):在寫入數(shù)據(jù)庫數(shù)據(jù)時,使用布隆過濾器做個標(biāo)記,然后在用戶請求發(fā)現(xiàn)緩存沒有值時,查詢布隆過濾器快速判斷數(shù)據(jù)是否存在。

二,緩存擊穿(熱點key過期)

對于熱點數(shù)據(jù),當(dāng)緩存失效的一瞬間,所有的請求都被下放到數(shù)據(jù)庫去請求更新緩存,數(shù)據(jù)庫被壓垮。

解決:

  1. 訪問數(shù)據(jù)庫加分布式鎖:獲得鎖的那個線程才能去訪問數(shù)據(jù)庫,并寫回緩存,其他線程等待。

  2. 熱點數(shù)據(jù)不過期:由后臺異步更新緩存,或者在熱點數(shù)據(jù)即將過期前,提前通知后臺線程更新緩存以及重新設(shè)置過期時間。

三,緩存雪崩(大量key同時過期)

當(dāng)大量緩存在同一時間過期,如果此時有大量的用戶請求,瞬間所有的請求都被下放到數(shù)據(jù)庫,數(shù)據(jù)庫就崩掉了。

解決:

  1. 將緩存失效時間隨機打散  在原有的失效時間基礎(chǔ)上增加一個隨機值(比如1到10分鐘)這樣每個緩存的過期時間都不重復(fù)了,也就降低了緩存集體失效的概率。

  2. 緩存設(shè)置為不過期  通過后臺服務(wù)來更新緩存數(shù)據(jù)。

相關(guān)文章

  • 無法連接redis服務(wù)器問題的解決辦法(非常詳細!)

    無法連接redis服務(wù)器問題的解決辦法(非常詳細!)

    這篇文章主要介紹了如何解決Spring?Boot項目連接Redis失敗的問題,通過修改Redis配置文件、添加防火墻白名單或關(guān)閉防火墻,并使用RESP工具進行測試,需要的朋友可以參考下
    2025-02-02
  • redis發(fā)布訂閱_動力節(jié)點Java學(xué)院整理

    redis發(fā)布訂閱_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了redis發(fā)布訂閱,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 為Redis設(shè)置密碼的三種方法

    為Redis設(shè)置密碼的三種方法

    Redis 是一個高性能的鍵值對數(shù)據(jù)庫,廣泛應(yīng)用于緩存、消息隊列等場景,為了保障 Redis 服務(wù)的安全性,設(shè)置密碼認證是非常重要的一步,所以本文給大家介紹了為Redis設(shè)置密碼的三種方法,需要的朋友可以參考下
    2024-11-11
  • Windows中redis設(shè)置密碼的兩種方法

    Windows中redis設(shè)置密碼的兩種方法

    之前寫的一個項目,有項目代碼,有數(shù)據(jù)庫,但是本地沒redis,沒法跑此項目,故思考在本地安裝一個redis做登錄session存儲,所以開始動手實踐,下面這篇文章主要給大家介紹了關(guān)于Windows中redis設(shè)置密碼的兩種方法,需要的朋友可以參考下
    2023-04-04
  • Redis中切片集群詳解

    Redis中切片集群詳解

    切片集群Redis中,數(shù)據(jù)增多了,是該加內(nèi)存還是加實例?采用云主機來運行Redis實例,那么,該如何選擇云主機的內(nèi)存容量呢?用Redis保存5000萬個鍵值對,每個鍵值對大約是512B方案一:大內(nèi)存云主機:選擇一臺32GB內(nèi)存的云主機來部署Redis
    2025-01-01
  • 在K8s上部署Redis集群的方法步驟

    在K8s上部署Redis集群的方法步驟

    這篇文章主要介紹了在K8s上部署Redis集群的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Redis持久化解讀

    Redis持久化解讀

    Redis是一種內(nèi)存級數(shù)據(jù)庫,提供高速讀寫性能,但數(shù)據(jù)易失,它支持三種持久化方式:RDB(快照持久化)、AOF(追加文件持久化)和混合持久化,RDB通過快照將數(shù)據(jù)保存到磁盤,AOF記錄所有寫操作命令,混合持久化結(jié)合兩者優(yōu)點
    2025-01-01
  • 啟動redis出現(xiàn)閃退情況的解決辦法

    啟動redis出現(xiàn)閃退情況的解決辦法

    最近使用Redis遇到啟動閃退的問題,查閱資料后在一位大神的文章中找到了答案,這篇文章主要給大家介紹了關(guān)于啟動redis出現(xiàn)閃退情況的解決辦法,需要的朋友可以參考下
    2023-11-11
  • 壓縮列表犧牲速度來節(jié)省內(nèi)存,Redis是膨脹了嗎

    壓縮列表犧牲速度來節(jié)省內(nèi)存,Redis是膨脹了嗎

    這篇文章主要給大家解釋了Redis 當(dāng)中的 ziplist(壓縮列表)犧牲速度來節(jié)省內(nèi)存的原因,希望大家能夠喜歡
    2021-02-02
  • Redis6.0搭建集群Redis-cluster的方法

    Redis6.0搭建集群Redis-cluster的方法

    這篇文章主要介紹了Redis6.0搭建集群Redis-cluster的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05

最新評論

金溪县| 祁阳县| 尉氏县| 英吉沙县| 修文县| 铜川市| 南郑县| 高陵县| 神木县| 邻水| 昌吉市| 瓦房店市| 闸北区| 泰州市| 博兴县| 沾化县| 长治县| 昌吉市| 桂林市| 东乡县| 博客| 江津市| 金山区| 宁城县| 刚察县| 安康市| 十堰市| 白河县| 上栗县| 邢台县| 全州县| 历史| 赫章县| 建水县| 安宁市| 原阳县| 赤城县| 沾化县| 天全县| 高雄县| 丁青县|