亚洲成av人片一区二区梦乃_欧美精品123区_久久99久国产精品黄毛片色诱_91蜜桃视频在线

當前時訊:Redis高可用高性能緩存的應用系列03 - 緩存過期淘汰策略LRU、LFU

發布時間:2023-04-14 02:24:52
來源:騰訊云

概述

Redis高可用高性能緩存的應用系列的第3篇,主要介紹Redis緩存過期淘汰策略的知識點。

Redis過期鍵刪除策略

Redis設置key時,都會設置一個過期時間,那么當過期時間到了都是怎么處理的?

Redis同時使用了惰性過期和定期過期兩種方式的緩存淘汰策略。


(資料圖)

惰性過期:只有當這個key被訪問時,才會判斷是否過期,過期則要清理掉,他可以節省CPU的資源,但是會浪費內存的資源,會出現大量過的Key沒有被訪問過,從而不會被清除,導致內容占用越來越大。定期過期:每隔一段時間,掃描一定數量的設置了過期時間的key,假如過期了則進行刪除操作。

定期過期的執行過程

Redis默認每秒進行10次過期掃描:

1.從過期字典中隨機選擇20個key

2.刪除這20個key中已過期的

3.如果超過25%的key過期,則重復第一步

同時,為了保證業務不受影響,Redis還設置了掃描的時間上限,默認不會超過25ms

內存淘汰策略

1.假如內存不足時,Redis會根據設置的淘汰策略,刪除一些不常用的數據,保證Redis的正常使用,所有的前提都是加入鍵的時候如果超過Redis內存設定的限制后,Redis采用的服務。

1.noeviction: 不會在寫入,寫入會報錯。

2.allkeys-lru:首先通過LRU算法驅逐最久沒有使用的鍵

3.volatile-lru:首先從設置了過期時間的鍵集合中驅逐沒有最久使用的鍵

4.allkeys-random:從所有過期字典中的key隨機刪除

5.volatile-random:從過期鍵的集合中隨機驅逐

6.volatile-ttl:從配置了過期時間的鍵中,驅逐馬上就要過期的鍵

7.volatile-lfu:從配置了過期時間的鍵中驅逐使用頻率最少得鍵

8.allkeys-lfu:從所有鍵中使用頻率最少的鍵

LRU

根據最近被使用的時間,距離當前最遠的數據優化被淘汰,當有新增key 或者是被訪問時,元素會被追加在隊尾,需要淘汰時從頭部開始淘汰,這個是LRU的思想。

在Redis redisObject 中,維護了一個24位的時鐘(有點類似于Cpu的頻率),可以簡單理解為Cpu對內存使用的時間戳,每個Key對應的也維護了同樣24位的時間戳。

比如現在要進行LRU,首先拿到當前系統的時間鐘,和Redis redisObject 內存的LRU時間鐘對差值計算,差最大的進行淘汰,這里需要注意的是,全局時鐘只有24位,按秒計算的話,最多可以存儲194天,所以可能出現key時鐘大于全局時鐘的情況,但是Redis的LRU不會對全局的時鐘進行比對,他會從設置了過期時間的key中進行比對。

struct redisObject {    unsigned lru:LRU_BITS; /* LRU time (relative to global lru_clock) or                            * LFU data (least significant 8 bits frequency                            * and most significant 16 bits access time). */};

LFU

LRU只考慮了使用的時間,但是沒有考慮Key使用的次數,Redis4.0 以后,新增了LFU的淘汰策略,根據使用時間和次數最為淘汰的權重。

LFU把之前LRU的24bit拆分成兩部分,16bit的時間鐘和8it的訪問頻率,8bit比較小,在源碼的evict文件中給出了數據。

uint8_t LFULogIncr(uint8_t counter) {    if (counter == 255) return 255;    double r = (double)rand()/RAND_MAX;    double baseval = counter - LFU_INIT_VAL;    if (baseval < 0) baseval = 0;    double p = 1.0/(baseval*server.lfu_log_factor+1);    if (r < p) counter++;    return counter;}

標簽:

AD
更多相關文章
主站蜘蛛池模板: 日韩在线视频网站| 日韩精品福利片午夜免费观看| 欧美精品在线观看91| 国产精品香蕉国产| 午夜精品美女久久久久av福利 | 国产成人一区三区| 韩国国内大量揄拍精品视频| 欧美激情第三页| 国产成人精品av在线| 久久久久国产精品视频| 精品久久中出| 国产欧美久久久久| 国产精品久久久久久久久久久久午夜片 | 国产成人精品免费久久久久 | 91精品国产亚洲| 国产欧美综合一区| 国产精品亚洲аv天堂网| 国产精品久久久久久久乖乖| 国产精品视频免费观看| 国产精品免费观看久久| 国产精品日韩一区二区免费视频| 国产精品美女在线播放| 91精品免费看| 天天干天天色天天爽| 欧美日韩国产高清视频| 久久久999国产精品| 国产日韩综合一区二区性色av| 国产精品视频网站在线观看| 国产欧美日韩丝袜精品一区| 日韩人妻精品一区二区三区| 欧美日韩国产91| 久久久91精品国产| 懂色av一区二区三区四区五区| 69av视频在线播放| 欧美中日韩免费视频| 精品国偷自产在线| **亚洲第一综合导航网站| 欧美在线观看日本一区| 久久99精品久久久久久久久久| 国产视频99| 在线精品亚洲一区二区|