1.需求描述
Redis中的數據都保存在內存中.如果內存中一直添加數據,則可能會造成內存填滿,內存溢出的現象.需要控制redis的內存大小.
2.LRU算法
內存管理的一種頁面置換算法,對於在內存中但又不用的數據塊(內存塊)叫做LRU,操作系統會根據哪些數據屬於LRU而將其移出內存而騰出空間來加載另外的數據。
3.內存策略介紹
volatile-lru 在已經設定了超時時間的數據中,選擇最少使用的數據進行刪除. allkeys-lru 選擇全部值,采用LRU算法進行刪除. volatile-random 在設定了超時時間的數據中隨機刪除. allkeys-random 在所以的key中隨機刪除. volatile-ttl 在設定了超時時間的數據中,按照超時時間倒敘排列,刪除馬上過期的數據. Noeviction(默認策略) 如果選擇該模式,在不刪除數據,則直接報錯給用戶.
3.1內存策略修改
560行