当前位置: 首页 > news >正文

Redis 淘汰策略

     Redis 是一个使用键值对存储数据的内存中数据结构存储系统,它支持多种类型的数据结构,如字符串(strings),列表(lists),集合(sets),有序集合(sorted sets)以及散列表(hashes)。当内存不足以容纳所有数据时,Redis 可以配置不同的淘汰策略来决定哪些数据应该被移除。

1. 无淘汰策略 (noeviction)
  • 策略说明: 当内存使用达到配置的 maxmemory 限制时,所有引起内存增加的命令都会报错。
2. 全部随机淘汰 (allkeys-random)
  • 策略说明: 当达到内存限制时,随机移除任意键。
3. 最近最少使用淘汰 (allkeys-lru)
  • 策略说明: 当达到内存限制时,移除最近最少使用的键。
4. 最近最少使用淘汰(基于样本)(volatile-lru)
  • 策略说明: 从已设置过期时间的键中选择最近最少使用的键进行淘汰。
5. 随机淘汰(仅限设置了过期时间的键)(volatile-random)
  • 策略说明: 从已设置过期时间的键中随机选择键进行淘汰。
6. 最少使用淘汰(仅限设置了过期时间的键)(volatile-ttl)
  • 策略说明: 从已设置过期时间的键中选择将要过期的键进行淘汰。
7. 最近最少使用淘汰(基于样本,仅限设置了过期时间的键)(volatile-lfu)
  • 策略说明: 从已设置过期时间的键中选择使用频率最低的键进行淘汰。
8. 全部最少使用淘汰 (allkeys-lfu)
  • 策略说明: 当达到内存限制时,移除使用频率最低的键。
9. 无淘汰策略(仅限设置了过期时间的键)(volatile-lru)
  • 策略说明: 如果内存不足以容纳所有数据,并且没有键设置了过期时间,Redis将不执行任何淘汰。
配置淘汰策略
  • 配置方法: 可以通过在 redis.conf 配置文件中设置 maxmemory-policy 选项来配置淘汰策略,或者通过 CONFIG SET maxmemory-policy 命令动态设置。
注意
  • 内存限制: 淘汰策略通常与 maxmemory 配置项一起使用,该配置项用于设置 Redis 最大内存使用量。
  • 持久化: 淘汰策略不影响持久化。即使数据从内存中被淘汰,它们仍然可能被写入磁盘,如果配置了 RDB 或 AOF 持久化的话。
  • 性能: 选择不同的淘汰策略可能会影响 Redis 的性能,因为某些策略(如 LRU 和 LFU)需要记录额外的信息来确定哪些键应该被淘汰。     
http://www.lryc.cn/news/317377.html

相关文章:

  • 游戏数据处理
  • Qt+FFmpeg+opengl从零制作视频播放器-14.程序Ubuntu移植
  • Go 语言中的 Cond 机制详解
  • 如何使用vue定义组件之——子组件调用父组件数据
  • 如何使用ArcGIS Pro生成带计曲线等高线
  • 蓝桥杯C++大学B组一个月冲刺记录2024/3/13
  • 计算机网络——Internet结构和ISP
  • E.接龙数列【蓝桥杯】/动态规划
  • cv2.cvtColor()将二维转化为彩色图像
  • 为什么 VSCode 不用 Qt 而要用 Electron?
  • 环信ChatroomUIKit功能详解——超详细介绍
  • 怎么读取springboot中的properties.yml配置文件里的配置值(亲测有效)
  • 18、设计模式之解释器模式(Interpreter)
  • cpp qt 一个奇怪的bug
  • 第6章:MATLAB文本数据处理进阶篇的目录 (MATLAB入门课程)
  • 软件杯 深度学习 opencv python 公式识别(图像识别 机器视觉)
  • vscode通过多个跳板机连接目标机(两种方案亲测成功)
  • C++基础复习003
  • Docker Commit提交
  • 百度现在应该怎么去做搜索SEO优化?(川圣SEO)蜘蛛池
  • 登录凭证------
  • matplotlib系统学习记录
  • 【DL】ML系统学习笔记 1
  • ffmpeg视频处理常用命令
  • 前端npm和yarn更换国内淘宝镜像
  • 华为配置OSPF的Stub区域示例
  • 学会Web UI框架--Bootstrap,快速搭建出漂亮的前端界面
  • C语言学习大纲
  • Unity URP 如何写基础的曲面细分着色器
  • android pdf框架-8,图片缓存