快取設計學習筆記

2021-09-23 01:33:48 字數 684 閱讀 4460

最近在《 redis 開發與運維》這是在看11章時候記得筆記

先放個最簡單的圖, 這裡面每一層都可以有快取

總之,請求的任何乙個環節都可以根據需要做快取

剔除演算法 (lru/lfu/fifo)

超時剔除

主動更新這個實際上就是快取內容的選擇問題,假設mongo裡有一條完整的記錄,我們是選擇全部資料都快取還是選擇其中的部分資料快取起來的問題

我們從3個角度來分析下

通用性全部資料肯定比部分資料更通用,但很多業務場景只需要部分資料

空間占用:

全部資料顯然占用更多的空間,成本更高

**維護

全部資料就不用講了。。。部分資料開發成本就比較多了

結合實踐來分析下

就拿我們平台的應用資訊來說,資料非常多,基本配置幾十個字段,區分ios和android的配置也各有20來個字段,

概念:不存在的資料每次請求都會去到儲存層查詢,並且對該資料併發請求量很大,就會對後端系統造成很大的壓力,失去了快取保護後端儲存的意義。這就叫做快取穿透

過程如下

原因分析

辦法1 快取空物件

辦法2 攔截

Redis學習筆記(八) 快取設計與優化

歡迎star fork follow素質三連 8.1.1 收益 8.1.2 成本 8.1.3 使用場景快取更新常用的三種策略 策略 一致性維護成本 lru lfu fifo最差低 超時剔除 較差較低 主動更新強高 快取更新策略使用建議 通常情況下,都是使用redis去保護底層mysql,但是這也涉及...

Hibernate 快取 學習筆記

一.什麼是快取 快取是位於應用程式與物理資料來源之間,用於臨時存放複製資料的記憶體區域,目的是為了減少應用程式對物理資料來源訪問的次數,從而提高應用程式的執行效能.hibernate在查詢資料時,首先到快取中去查詢,如果找到就直接使用,找不到的時候就會從物理資料來源中檢索,所以,把頻繁使用的資料載入...

Hibernate學習筆記 快取

一級快取和二級快取和查詢快取 面試題 a 什麼是快取 b 什麼是一級快取,session級別的快取 c 什麼是二級快取,sessionfactory級別的快取,可以跨越session存在 i.經常被訪間 ii.改動不大不會經常改動 iii.數重有限 d 開啟二級快取 i.hibernate.cfg....