【笔记】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:默认规则,表时不配置内存优化策略,如果溢出将会直接报错

完成