我所知道的快取知識

2021-09-02 07:36:27 字數 1115 閱讀 1124

在web開發,特別是高併發,使用者量大的**,快取是非常重要的部分,快取的目的就是降低後端伺服器的壓力,使系統能更健壯的執行,提供更好的服務。下面是我知道的快取要點。

1.多級快取

多級快取包括:

***:內容網路分發

瀏覽器快取

接入層快取:負載均衡層()

應用層快取:tomcat/apache/nginx等

分布式快取:redis/memcahe等

2.各層快取的作用

接入層快取:可以提公升系統的吞吐量,降低後端的壓力,特別是對熱點資料

分布式快取:減少訪問回源率(查詢資料庫)

應用層快取:緩衝快取失敗或者雪崩之後對後端衝擊

2.分布式快取負載均衡演算法

分布快取中:主要有兩種演算法,輪詢和一致性雜湊

輪詢:可以是服務的請求更加均衡,但快取命中率低,特別隨著機器的增多,命中率會越來越低。

例如只有2臺機器,則命中率是50%,增長到3台後命中率就是33%,4臺就是25%。

一致性雜湊:提公升了快取的命中率,但是可能造成的某台機器負載過重。因為相同的請求都指向了同一臺伺服器

考慮到兩者的優缺點,在使用時,可以設定閾值,在系統在閾值下,使用一致性雜湊,讓快取命中率更高,超過這個閾值,系統自動降級為輪詢

3.快取淘汰演算法

lru:最近最少使用

lru-k:最近使用過k次

lfu:根據資料的歷史訪問頻率來淘汰資料

fifo:先進先出

4.快取過期與不過期策略

5.快取元件的實現原理及差異(主要是redis/memcache等主流快取元件)

6.快取使用模式

cache-aside

cache-as-sor:read-through/write-through/write-behind

7.快取中需要關注的問題

(1)熱點資料

(2)大value

(3)資料一致性問題

(4)更新快取與原子性問題

(5)快取崩潰與恢復問題

(6)命中率問題

8.快取系統會出現的問題

(1) 雪崩

(2) 快取穿透

(3)資料一致性問題

(4)熱點資料

9.熱點發現

我所知道的EC Preface

我所知道的ec preface knowledge sharing is the best reusej 所以打算寫一篇 我所知道的ec 系列。取名為 我所知道的ec 是緣於網路上有一篇講述system bios的好文章叫做 我所知道的 bios 另外該系列文章是小弟的一家之言,希望各位前輩多多指教...

我所知道的EC PowerSequence

我所知道的ec powersequence what s power sequence power sequence 是指hw device 上電的順序 它的大致順序如下 1 always 2 sus on 3 dimm on 4 run on 5 vr on 這 基本上是 nb工作需要的所有pow...

我所知道的(1)

我所知道的之序言 最近總有朋友詢問我的事情,問得多了,也就回憶的多了,興奮的時候,就想乾脆整理成文字吧,也算對自己自06年以來給做諮詢的乙個總結。從06年以來我給的3個事業群做過了cmmi的諮詢,2次2級,3次3級,累計現場諮詢天數超過150天吧,所以日積月累,對有所了解。為了避免不必要的麻煩,我認...