【笔记】Redis内存优化策略
前言
由于redis在内存中保存数据,如果一直存储,则内存数据必然溢出,所以需要定期维护内存数据的大小
内存优化策略的算法
LRU算法
- 根据时间计算最不常用的数据进行清理
LFU算法
- 根据使用频率计算最不常用的数据进行清理
- 为了防止使用频率高的数据居高不下,每一次清理会将使用频率最高的数据的计数次数小数点向左移动一位,直至小于1时,清理该数据
RANDOM算法
- 随机算法,随机清除数据
TTL算法
- 根据存活时间倒计时最接近零的数据进行清理
配置内存优化策略
- 修改
redis.conf
配置文件第570~577行,配置内存优化策略
volatile-lru
:在设定了超时时间的数据中,采用LRU算法allkeys-lru
:在所有数据中,采用LRU算法volatile-lfu
:在设定了超时时间的数据中,采用LFU算法allkeys-lfu
:在所有数据中,采用LFU算法volatile-random
:在设定了超时时间的数据中,采用RANDOM算法allkeys-random
:在所有数据中,采用RANDOM算法volatile-ttl
:在所有数据中采用TTL算法noeviction
:默认规则,表时不配置内存优化策略,如果溢出将会直接报错