Redis中的記憶體維護策略

2021-08-21 18:46:20 字數 811 閱讀 7638

redis作為優秀的中間快取件,時常會儲存大量的資料,即使採取了集群部署來動態擴容,也應該即使的整理記憶體,維持系統效能。在redis中有兩種解決方案,一是為資料設定超時時間,二是採用lru演算法動態將不用的資料刪除。記憶體管理

的一種頁面置換演算法,對於在記憶體中但又不用的

資料塊(記憶體塊)叫做

lru,作業系統會根據哪些資料屬於

lru而將其移出記憶體而騰出空間來載入另外的資料。

關於redis中記憶體的進製換算:

記憶體設定,在redis.conf檔案的537行可以進行設定:

下面是重點部分,redis中的6種記憶體管理策略:

1.volatile-lru:設定超時時間的資料中,刪除最不常使用的資料.

2.allkeys-lru:查詢所有的key中最近最不常使用的資料進行刪除,這是應用最廣泛的策略.

3.volatile-random:在已經設定了超時的資料中隨機刪除.

4.allkeys-random:查詢所有的key,之後隨機刪除.

5.volatile-ttl:查詢全部設定超時時間的資料,之後排序,將馬上將要過期的資料進行刪除操作.

6.noeviction:如果設定為該屬性,則不會進行刪除操作,如果記憶體溢位則報錯返回.

設定需要的記憶體管理策略:

redis的記憶體維護策略

lfulru與lfu差別 redis作為優秀的中間快取件,時常會儲存大量的資料,即使採取了集群部署來動態擴容,也應該即使的整理記憶體,維持系統效能。redis官方也給出警告,當記憶體不足時,redis會根據配置的快取策略淘汰大部分keys,以保證寫入成功。當無淘汰策略時或沒有找到合適的key時,re...

redis記憶體管理與維護

expire key time 以秒為單位 常用方式 setx string key int seconds,string value 字串獨有方式查詢當前key的有效期 ttl key 如果返回值為 1 表示key永久有效 返回值為 2表示失效,從記憶體中銷毀lru是記憶體管理的一種頁面置換演算法...

Redis的記憶體淘汰策略

記憶體淘汰策略分類 早期版本的 redis 有以下 6 種淘汰策略 noeviction 不淘汰任何資料,當記憶體不足時,新增操作會報錯,redis 預設記憶體淘汰策略 allkeys lru 淘汰整個鍵值中最久未使用的鍵值 allkeys random 隨機淘汰任意鍵值 volatile lru ...