Redis 記憶體管理

2022-07-31 09:54:10 字數 1408 閱讀 5114

一、記憶體管理:

命令作用

expire key seconds

設定超時時間戳,單位為秒

ttl key

檢視超時時間,-1

表示沒有超時時間,

-2表示已經超時

persist key

持久化key

,取消超時時間

2、spring操作:

@runwith(springjunit4classrunner.class

)@contextconfiguration(locations = "classpath:redis.xml")

public

class

redistest

});}

}

二、記憶體**策略:1、超時後不會自動**,只會標記鍵已經超時;

2、惰性**:get命令會**已經超時的鍵;

3、redis.conf:中配置hz 1~100;

//hz為**頻率:建議配置為10;  

4、精準**:maxmemory-samples 1~10

//10:最精緻,最慢;1:最不精準,最快;

5、maxmemory:配置最大記憶體,鍵記憶體超過這個最大值 ,直接使用lru演算法**;

5、**演算法:

maxmemory-policy:noeviction  //預設

volatile-lru

採用最近使用最少的淘汰策略,redis將**那些超時的鍵值對

allkeys-lru

redis將對所有的鍵值對,採用最近最少使用的策略進行淘汰

volatile-random

採用隨機淘汰策略刪除超時的鍵值對

allkeys-random

採用隨機淘汰策略刪除所有的鍵值對

volatile-ttl

採用刪除存活時間最短的鍵值對策略

noeviction

不淘汰任何鍵值對,當記憶體已滿,只支援讀,不支援寫

//redis預設使用的是none演算法,但是使用get會惰性**;

//建議使用volatile-lru和allkeys-lru演算法;

Redis記憶體管理

不同資料型別的大小限制。最大記憶體控制 各種資料結果記憶體壓縮配置。大小超出壓縮範圍,溢位後redis將自動將其轉換為正常大小。主動處理,redis主動觸發檢測key是否過期,每秒執行10次。過程如下 被動處理 rdb方式 aof方式 過期資料的計算和計算機本身的時間是有直接聯絡的。配置檔案中設定 ...

Redis的記憶體管理 記憶體淘汰

給redis設定一些位元組大小去限制記憶體使用,當redis達到所設定的記憶體大小,redis將會刪除一些key,根據所制定的記憶體淘汰策略。如果redis不能刪除key根據所給的策略,或者如果當前的淘汰策略是novication,有新的key進來的時候,redis將回出錯,比如set操作 lpus...

Redis快取系列 三 redis記憶體管理

redis中,它的key的型別都是string,大小為512m 而value的型別的大小又不太相同 我們在啟動redis服務的時候,可以在它的配置檔案redis.conf中來配置它的最大記憶體閾值和達到閾值的執行策略,配置如下 最大記憶體控制 maxmemory 1gb 達到最大閾值的淘汰策略 下邊...