Redis运维和开发学习笔记(7) 内存管理和过期策略
生活随笔
收集整理的這篇文章主要介紹了
Redis运维和开发学习笔记(7) 内存管理和过期策略
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Redis運(yùn)維和開發(fā)學(xué)習(xí)筆記(7) 內(nèi)存管理和過期策略
文章目錄
- Redis運(yùn)維和開發(fā)學(xué)習(xí)筆記(7) 內(nèi)存管理和過期策略
- 內(nèi)存回收策略
- 惰性刪除
- 定時(shí)任務(wù)刪除
- maxmemory
- 過期策略allkeys-lru主從搭建測(cè)試
- 搭建完畢主從
- 測(cè)試結(jié)果
- volatile-lru測(cè)試結(jié)果
- volatile-ttl測(cè)試結(jié)果
- allkeys-lru
內(nèi)存回收策略
惰性刪除
惰性刪除用于當(dāng)客戶端讀取帶有超時(shí)屬性的鍵時(shí),如果已經(jīng)超過鍵設(shè)置的過期時(shí)間,會(huì)執(zhí)行刪除操作并返回空。不需要維護(hù)TTL鏈處理過期鍵的刪除。如果有一個(gè)鍵從來沒有被訪問,那就有問題了。就需要定時(shí)任務(wù)刪除
定時(shí)任務(wù)刪除
默認(rèn)每10秒執(zhí)行一次,通過配置hz控制。定時(shí)任務(wù)中采用自適應(yīng)算法。根據(jù)鍵的過期比例,使用快慢兩種速率回收
maxmemory
內(nèi)存達(dá)到maxmemory限制時(shí)觸發(fā)內(nèi)存溢出控制策略maxmemory-policy:六種策略
| volatile-lru | 根據(jù)LRU算法刪除設(shè)置了超時(shí)屬性 |
| allkeys-lru | 根據(jù)lru算法刪除鍵,不管數(shù)據(jù)有沒有設(shè)置超時(shí)屬性 |
| volatile-random | 隨機(jī)刪除過期鍵,知道騰出足夠空間 |
| volatile-ttl | 根據(jù)鍵值對(duì)象的ttl屬性,刪除最近將要過期的數(shù)據(jù),如果沒有回退到noeviction |
| allkeys-random | 隨機(jī)刪除所有鍵,直到有足夠空閑空間 |
過期策略allkeys-lru主從搭建測(cè)試
搭建完畢主從
開辟2M空間,往里面寫數(shù)據(jù)。1024條
共寫入了108條數(shù)據(jù)這個(gè)時(shí)候我們?cè)賡et數(shù)據(jù)查看變化
測(cè)試結(jié)果
volatile-lru測(cè)試結(jié)果
volatile-ttl測(cè)試結(jié)果
allkeys-lru
總結(jié)
以上是生活随笔為你收集整理的Redis运维和开发学习笔记(7) 内存管理和过期策略的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 复仇黑玫瑰剧情介绍
- 下一篇: Redis源码分析(零)学习路径笔记