快取基礎概念

2021-10-03 18:16:05 字數 629 閱讀 3389

快取穿透指的是使用者不斷對快取和資料庫中都沒有的資料發起請求,例如id為負數或特別大的數,導致資料庫壓力過大。穿透可以想象成幽靈穿過牆壁一樣,什麼都沒有碰到,就像資料庫和快取都沒有命中。

一般情況下不會發生快取穿透,較大可能是有人惡意攻擊。

解決方案:

介面層新增引數校驗,對於不合法引數直接攔截,例如id為負數的請求。

無法直接判斷是否合法的話,如果資料庫和快取都沒有命中,則把對應的id設定乙個值儲存到快取中,這樣下次請求同個id就直接返回我們設定的值。

快取預熱:將資料提前加入到快取中,當資料發生變更的時候再更新到快取中。

快取擊穿指的是快取中沒有,但是資料庫有的資料,如果併發使用者特別多的話,一瞬間同時請求某條資料,快取中沒有讀到,則同時請求資料庫,導致資料庫壓力過大。

電商秒殺等場景容易發生快取擊穿。

解決方案:

設定熱點資料永不過期。

快取預熱。

快取雪崩指的是大批量快取同時過期,同時請求資料庫,導致資料庫壓力過大甚至宕機。快取雪崩和快取擊穿的區別是,雪崩是同時併發查大量資料,擊穿只是單條資料。

解決方案:

批量儲存快取資料的情況下,給過期時間加上乙個隨機數,防止同時大批量過期。

設定熱點資料永不過期。

快取預熱。

基本快取概念

1 客戶端快取 標籤,這是進行頁面快取最基本的方法。1 2 傳送到瀏覽器的html頁面中的meta標籤告訴瀏覽器頁面的快取時間以及是否啟用快取等,programa no cache內容並不是保證,但大多數瀏覽器都遵從這個約定。更好的方法是使用header函式,傳送http頭。1 2header ex...

快取的概念

許多人認為,快取 是記憶體的一部分 許多技術文章都是這樣教授的 但是還是有很多人不知道快取在什麼地方,快取是做什麼用的 其實,快取是cpu的一部分,它存在於cpu中 cpu訪問資料的速度非常的快,一秒鐘能夠訪問 處理十億條指令和資料 術語 cpu主頻1g 而記憶體就慢很多,快的記憶體能夠達到幾十兆就...

快取的概念

網上整理的資料1 快取的概念 許多人認為,快取 是記憶體的一部分 許多技術文章都是這樣教授的 但是還是有很多人不知道快取在什麼地方,快取是做什麼用的 其實,快取是cpu的一部分,它存在於cpu中 cpu訪問資料的速度非常的快,一秒鐘能夠訪問 處理十億條指令和資料 術語 cpu主頻1g 而記憶體就慢很...