处理方案:

1. 增加内存
2. 搭建Redis集群
3. 内存淘汰策略

内存淘汰策略实现:

    设置maxmemory参数,并指定maxmemory-policy策略,默认值为noeviction(禁止淘汰,会报错)

maxmemory-policy:

参数

说明

volatile-lru

从设置了过期时间的数据集中根据LRU算法进行淘汰

volatile-ttl

与volatile-lru相似,优先删除ttl时间短的key

volatile-random

从设置了过期时间的数据中随机淘汰

allkeys-lru

从全体key中选择最近最久未使用的数据进行淘汰

allkeys-random

从全体key中随机淘汰

noeviction

禁止驱逐数据,新写入的数据如果内存不足会报错

说明:Redis中LRU是一个近似的LRU算法,默认情况下,redis会先随机选取5个键,并从中选择一个最近最久未使用的key进行淘汰。可通过maxmemory-samples设置选取个数