淘汰策略
影响数据淘汰的相关配置
- 最大可使用内存,即占用物理内存的比例,== 默认值为0,表示不限制。==生产环境中根据需求设定,通常设置在50%以上
maxmemory ?mb
- 每次选取待删除数据的个数,采用随机获取数据的方式作为待检测删除数据。
maxmemory-samples count
maxmemory-policy policy #取值如下
---------------------------------
- ⚫ 检测易失数据(设置了过期时间的数据集server.db[i].expires )
① volatile-lru:挑选最近最少使用的数据淘汰
② volatile-lfu:挑选最近使用次数最少的数据淘汰
③ volatile-ttl:挑选将要过期的数据淘汰
④ volatile-random:任意选择数据淘汰
- ⚫ 检测全库数据(所有数据集server.db[i].dict )
⑤ allkeys-lru:挑选最近最少使用的数据淘汰
⑥ allkeys-lfu:挑选最近使用次数最少的数据淘汰
⑦ allkeys-random:任意选择数据淘汰
- ⚫ 放弃数据驱逐
⑧ no-enviction(驱逐):禁止驱逐数据(redis4.0/5.0中默认策略),会引发错误OOM(Out Of Memory)