久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Redis 過期時間與內(nèi)存管理

 精品唯居 2022-03-26

內(nèi)存管理

當(dāng) Redis 作為緩存使用時(此時緩存僅作為熱點數(shù)據(jù)提高服務(wù)的訪問性能),,需要考慮內(nèi)存的限制,以及如何隨著業(yè)務(wù)的增長,,僅保留熱點數(shù)據(jù),。

file

過期時間

Redis 所有的數(shù)據(jù)結(jié)構(gòu)都可以設(shè)置過期時間,,時間到了,Redis 會自動刪除相應(yīng)的對象,。
需要注意的:

  • 過期expire是以對象為單位,,比如一個 hash 結(jié)構(gòu)的過期是整個 hash 對象的過期,而不是其中的某個子 key,。
  • 如果一個字符串已經(jīng)設(shè)置了過期時間,,然后你調(diào)用了 set 方法修改了它,它的過期時間會消失,。
127.0.0.1:6379> set  k1 aaa
OK
127.0.0.1:6379> expire k1 600
(integer) 1
127.0.0.1:6379> ttl k1
(integer) 597
127.0.0.1:6379> set k1  bbb
OK
127.0.0.1:6379> ttl k1
(integer) -1...

淘汰過期的 Keys

Redis keys過期有兩種方式:被動和主動方式,。

  • 被動

當(dāng)一些客戶端嘗試訪問它時,key會被發(fā)現(xiàn)并主動的過期,。

  • 主動

當(dāng)然,,這樣是不夠的,因為有些過期的keys,,永遠不會訪問他們,。

無論如何,這些keys應(yīng)該過期,,所以定時隨機測試設(shè)置keys的過期時間,。所有這些過期的keys將會從密鑰空間刪除。

具體就是Redis每秒10次做的事情:

  • 1.測試隨機的20個keys進行相關(guān)過期檢測,。
  • 2.刪除所有已經(jīng)過期的keys,。
  • 3.如果有多于25%的keys過期,重復(fù)步奏1.
    這是一個平凡的概率算法,,基本上的假設(shè)是,,我們的樣本是這個密鑰控件,

并且我們不斷重復(fù)過期檢測,,直到過期的keys的百分百低于25%,這意味著,,在任何給定的時刻,最多會清除1/4的過期keys,。

內(nèi)存淘汰

redis.conf 或 使用 CONFIG 命令配置 Redis的配置項:


maxmemory 100mb
maxmemory-policy [策略]

淘汰策略:

  • LRU - 最近很少沒碰

對最近很少使用(所有或有過期時間的)的key優(yōu)先淘汰

  • allkeys-lru 嘗試回收最少使用的鍵(LRU),,使得新添加的數(shù)據(jù)有空間存放。
  • volatile-lru 嘗試回收最少使用的鍵(LRU),,但僅限于在過期集合的鍵,使得新添加的數(shù)據(jù)有空間存放,。
  • LFU - 沒碰多少次

對使用頻率最少(所有或有過期時間的)的key優(yōu)先淘汰

  • allkeys-lfu 嘗試回收回收使用頻率最少的鍵(LFU),使得新添加的數(shù)據(jù)有空間存放,。

  • volatile-lfu 嘗試回收使用頻率最少的鍵(LFU),,但僅限于在過期集合的鍵,使得新添加的數(shù)據(jù)有空間存放。

  • volatile-ttl 對有過期時間的key中ttl最小的部分優(yōu)先淘汰

  • noeviction 返回錯誤

  • allkeys-random: 回收隨機的鍵使得新添加的數(shù)據(jù)有空間存放。

  • volatile-random: 回收隨機的鍵使得新添加的數(shù)據(jù)有空間存放,,但僅限于在過期集合的鍵,。

近似LRU算法

Redis的LRU算法并非完整的實現(xiàn)。這意味著Redis并沒辦法選擇最佳候選來進行回收,,也就是最久未被訪問的鍵,。

相反它會嘗試運行一個近似LRU的算法,通過對少量keys進行取樣,,然后回收其中一個最好的key(被訪問時間較早的),。

Redis LRU有個很重要的點,你通過調(diào)整每次回收時檢查的采樣數(shù)量,,以實現(xiàn)調(diào)整算法的精度,。這個參數(shù)可以通過以下的配置指令調(diào)整:


maxmemory-samples 5

@SvenAugustus (https://my.oschina.net/langxSpirit)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多