成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Redis 內(nèi)存滿了怎么辦?這樣設(shè)置才正確!

數(shù)據(jù)庫 Redis
在 Redis 帝國中,整個帝國的國法、家法和軍法等都記錄在 redis.conf中,它控制著整個帝國的運行。

上回在《??Redis 數(shù)據(jù)過期了會被立馬刪除么???》說到如果過期的數(shù)據(jù)太多,定時刪除無法刪除完全(每次刪除完過期的 key 還是超過 25%),同時這些 key 再也不會被客戶端請求,就無法走惰性刪除,內(nèi)存被打滿會怎樣?

答案是走內(nèi)存淘汰機制。

故事從一個叫 Redis 帝國的三公九卿官職說起……

在 Redis 帝國中,整個帝國的國法、家法和軍法等都記錄在 redis.conf中,它控制著整個帝國的運行。

公務(wù)員占用的國家地盤資源大小限定由名叫「maxmemory」的司法官員制定,一共有兩種方式實現(xiàn):

  • 在運行時使用 CONFIG SET maxmemory 4gb指定帝國官職人員最大地盤資源為 4GB;
  • 將 maxmemory 4gb法令記錄到 redis.conf「法典」中,在帝國運轉(zhuǎn)指定使用該「法典」運行。

需要注意的是,如果 maxmemory 為 0 ,在 64 位「空間」上則沒有限制,而 32 位「空間」則有 3GB 的隱式限制。

Redis 內(nèi)存淘汰策略

設(shè)置了帝國官職地盤資源限制,每年選拔新人就會導(dǎo)致沒有地盤資源可以使用怎么辦?如何選擇一些公務(wù)員淘汰?

在 Redis 4.0 時代,一共有 6 種淘汰策略,之后,又新增了 2 種策略。

總體上我們可以根據(jù)是否需要淘汰可以分為兩大類:

  • 不執(zhí)行淘汰策略,noeviction;
  • 根據(jù)不同法則淘汰的其他 7 種策略。

noeviction 不退伍策略

默認(rèn)情況下,資源超過 maxmemory 的值也不會執(zhí)行淘汰,不允許新人加入。

關(guān)系戶啊這是,皇親國戚,永久 vip 啊喂。

隨著官職人員的新增,由于不會淘汰,資源容量遲早會滿。滿了以后,當(dāng)有「新人」想要進來的時候,Redis 直接返回錯誤,并罷工。

秀,真是任性。

各式各樣的淘汰策略

剩下的 7 種策略還可以根據(jù)淘汰的候選集合和淘汰范圍分為兩大類:

  • 對有設(shè)置任職過期時間的職員進行淘汰,沒有設(shè)定任職過期時間的不會淘汰,淘汰策略如下:

volatile-lru:淘汰最近最少上一線干活的人員;

volatile-lfu:4.0 之后新增的策略,淘汰上一線干活次數(shù)最少的人員;

volatile-random:隨機淘汰,騰出坑位給新人;

volatile-ttl:淘汰設(shè)置了任期時間的公務(wù)員,誰最接近任期時間就先淘汰誰。

  • 對所有類型人員淘汰,不管是永久 vip 的皇親國戚還是設(shè)置了任職過期時間的人員。

allkeys-lru:淘汰最近最少上一線干活的職員;

allkeys-lfu:淘汰最少上一線干活的公務(wù)員;

allkeys-random:隨機淘汰職員,為新兵騰出空位。

故事到這里就結(jié)束了,接下來「碼哥」分享下在實際 Redis 中如何選擇合適的淘汰策略和設(shè)置最佳緩存大小給大家。

淘汰執(zhí)行過程如下圖所示:

redis-eviction

  • 客戶端發(fā)送新命令到服務(wù)端;
  • 服務(wù)端收到客戶端命令,Redis 檢查內(nèi)存使用情況,如果大于 maxmemory 限制,則根據(jù)策略驅(qū)逐數(shù)據(jù)。
  • 執(zhí)行新命令。

allkeys-lru 使用場景

假如你的應(yīng)用存在明顯的冷熱數(shù)據(jù)區(qū)別,根據(jù)經(jīng)驗推薦你使用這個策略,充分利用 LRU 算法把最近最常訪問的數(shù)據(jù)保留,有限的內(nèi)存提高訪問性能。

allkeys-random 使用場景

假如數(shù)據(jù)沒有明顯的冷熱分別,所有的數(shù)據(jù)分布查詢比較均衡,這些數(shù)據(jù)都會被隨機查詢,那就使用 allkeys-random 策略,讓其隨機選擇淘汰數(shù)據(jù)。

volatile-lru 使用場景

業(yè)務(wù)場景有一些數(shù)據(jù)不能刪除,比如置頂新聞、視頻,這時候我們?yōu)檫@些數(shù)據(jù)不設(shè)置過期時間,這樣的話數(shù)據(jù)就不會被刪除,該策略就會去根據(jù) LRU 算法去淘汰那些設(shè)置了過期時間且最近最少被訪問的數(shù)據(jù)。

有一個點需要注意下,為 key 執(zhí)行 expire 設(shè)置過期時間會消耗一些內(nèi)存,所以使用 allkeyds-lru 會提高內(nèi)存效率。

將需要持?jǐn)?shù)據(jù)不能刪除的和全都可以淘汰數(shù)據(jù)的業(yè)務(wù)系統(tǒng)分別使用不同的 Redis 實例集群是更好的方案。

針對業(yè)務(wù)場景有一些數(shù)據(jù)不能刪除的使用 volatile-lru策略,另一類則可以使用 allkyes-lru 或者 allkeys-random。

Redis 容量設(shè)置多大合適

緩存并不是越大越好,用最小的代價去獲得最高的收益才是老板想要的。

數(shù)據(jù)訪問有局部性,根據(jù)「二八原理」:通常 20% 的數(shù)據(jù)能支撐 80% 的訪問請求。

所以我們可不可以把緩存容量大小設(shè)置為總數(shù)據(jù)量的 20%?

當(dāng)然,不能這么絕對,這是理想狀態(tài)。因為可能存在一些個性化需求,不同的用戶訪問的數(shù)據(jù)可能差別很大,不完全具備「二八原理」。

我們應(yīng)當(dāng)結(jié)合實際的訪問特點和成本來綜合評估。根據(jù)經(jīng)驗建議將容量設(shè)置成總數(shù)據(jù)量的 15%~30%。

碼哥,其他淘汰規(guī)則比較簡單,volatile-lru 和 volatile-lfu 則比較復(fù)雜,他們的算法是怎樣的?

volatile-lru 使用了 LRU 算法,淘汰最近最少使用的數(shù)據(jù)。而 volatile-lfu 使用了 LFU 算法,它在 LRU 算法基礎(chǔ)上同時考慮了數(shù)據(jù)的時效性和訪問頻率,最少訪問的 key 會被刪除。

至于具體算法細(xì)節(jié),我們下回分解。一次性太多的話大家容易在知識的海洋里里嗆水。

責(zé)任編輯:武曉燕 來源: 碼哥字節(jié)
相關(guān)推薦

2019-10-12 09:50:46

Redis內(nèi)存數(shù)據(jù)庫

2021-04-13 10:41:25

Redis內(nèi)存數(shù)據(jù)庫

2021-03-13 14:04:43

Redis內(nèi)存策略

2021-01-26 08:02:04

Redis內(nèi)存數(shù)據(jù)庫

2024-09-03 09:20:45

2021-10-30 19:01:17

磁盤字節(jié)文件

2020-03-18 19:00:29

電腦內(nèi)存不足系統(tǒng)

2020-12-03 06:18:04

磁盤Docker容器

2024-10-09 17:06:52

RedisHash哈希表

2024-10-18 09:55:50

RedisHash數(shù)據(jù)

2021-10-01 00:12:12

Redis分布式

2024-03-13 13:25:09

Redis分布式鎖

2022-08-24 08:17:14

RedisRDBAOF

2021-01-05 10:48:38

RedisAOF日志RDB快照

2018-11-13 09:45:46

微軟Windows操作系統(tǒng)

2017-03-16 09:10:41

魚缸式信息圖表計算

2009-11-03 08:56:02

linux死機操作系統(tǒng)

2024-04-22 08:17:23

MySQL誤刪數(shù)據(jù)

2022-12-19 11:31:57

緩存失效數(shù)據(jù)庫

2017-02-21 13:11:43

SDN網(wǎng)絡(luò)體系SDN架構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 狠狠操狠狠操 | 国产做a爱片久久毛片 | 国产精品美女久久久久久免费 | 国产在线视频一区二区 | 欧美一级久久 | 亚洲成人一区二区在线 | 国产精品国产三级国产aⅴ原创 | 女朋友的闺蜜3韩国三级 | 欧美高清成人 | 九九精品网 | 国产免费让你躁在线视频 | 国产精品精品视频一区二区三区 | 日本a视频 | 一级毛毛片| 欧美电影免费观看 | 亚洲国产一区二区三区四区 | 欧美精品一区二区三区四区 在线 | 国产日韩欧美一区二区 | 久久精品伊人 | 99久久久久久99国产精品免 | 国产精品久久久久久久久久尿 | 国产一区免费 | 国产成人精品一区二区三区四区 | 欧美国产日韩精品 | 日本久久久一区二区三区 | 欧美在线视频a | 一区二区三区日韩精品 | 午夜免费观看网站 | 欧洲一级毛片 | 一区天堂 | 精品久久久久久久 | 国产精品美女久久久久aⅴ国产馆 | 伊人免费在线观看高清 | 亚洲国产精品一区二区www | 精品乱码一区二区 | 日韩精品一区二区三区视频播放 | 正在播放国产精品 | 亚洲欧洲精品在线 | 一区二区三区视频在线观看 | 91黄色片免费看 | av一区二区三区四区 |