redis六种淘汰策略,redis默认的淘汰策略,如何设置redis淘汰策略和最大内存

redis六种淘汰策略,redis默认的淘汰策略,如何设置redis淘汰策略和最大内存本文大概讲一下 redis 六种淘汰策略一 六种淘汰策略 1 noeviction 默认策略 对于写请求不再提供服务 直接返回错误 DEL 请求和部分特殊请求除外 2 allkeys lru 从所有 key 中使用 LRU 算法进行淘汰 3 volatile lru 从设置了过期时间的 key 中使用 LRU 算法进行淘汰 4 allkeys random 从所有 key 中随机淘汰数据 5 volatile random 从设置了过期时间的 key 中随机淘汰 6 volatile ttl 在设置了过期时间的 key

redis是个基于内存的缓存数据库,既然是基于内存的,那肯定就会有存满的时候

如果真的存满了,再有新的数据过来肯定就存不进去了

此时redis会执行既定的一些淘汰策略,本文大概讲一下redis六种淘汰策略

一、六种淘汰策略

1.noeviction(默认策略):对于写请求不再提供服务,直接返回错误(DEL请求和部分特殊请求除外)

2.allkeys-lru:从所有key中使用LRU算法进行淘汰(LRU算法:即最近最少使用算法)

3.volatile-lru:从设置了过期时间的key中使用LRU算法进行淘汰

4.allkeys-random:从所有key中随机淘汰数据

5.volatile-random:从设置了过期时间的key中随机淘汰

6.volatile-ttl:在设置了过期时间的key中,淘汰过期时间剩余最短的

当使用volatile-lru、volatile-random、volatile-ttl这三种策略时,如果没有key可以被淘汰,则和noeviction一样返回错误

二、如何获取及设置内存淘汰策略

1、获取当前内存淘汰策略:

127.0.0.1:6379> config get maxmemory-policy

redis六种淘汰策略,redis默认的淘汰策略,如何设置redis淘汰策略和最大内存

可以看到当前使用的默认的noeviction策略

2、获取Redis能使用的最大内存大小

127.0.0.1:6379> config get maxmemory

redis六种淘汰策略,redis默认的淘汰策略,如何设置redis淘汰策略和最大内存

如果不设置最大内存大小或者设置最大内存大小为0,在64位操作系统下不限制内存大小,在32位操作系统下最多使用3GB内存。32 位的机器最大只支持 4GB 的内存,而系统本身就需要一定的内存资源来支持运行,所以 32 位机器限制最大 3 GB 的可用内存

3、设置淘汰策略

通过配置文件设置淘汰策略(修改redis.conf文件):

maxmemory-policy allkeys-lru

通过命令修改淘汰策略:

127.0.0.1:6379> config set maxmemory-policy allkeys-lru

4、设置Redis最大占用内存大小

#设置Redis最大占用内存大小为100M 127.0.0.1:6379> config set maxmemory 100mb

纯手敲原创不易,如果觉得对你有帮助,可以打赏支持一下,哈哈,感谢~

redis六种淘汰策略,redis默认的淘汰策略,如何设置redis淘汰策略和最大内存           redis六种淘汰策略,redis默认的淘汰策略,如何设置redis淘汰策略和最大内存

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176886.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午8:48
下一篇 2026年3月26日 下午8:48


相关推荐

  • pycharm快捷键及一些常用设置

    pycharm快捷键及一些常用设置Alt Enter 自动添加包 shift O 自动建议代码补全 Ctrl tSVN 更新 Ctrl kSVN 提交 Ctrl 注释 取消注释 选择的行 Ctrl Shift F 高级查找 Ctrl Enter 补全 Shift Enter 开始新行 TABShift TAB 缩进 取消缩进所选择的行 Ctrl Alt I 自动缩进行 Ctrl Y 删除当前插入符所在

    2026年3月27日
    2
  • idea打包maven项目jar_tomcat部署maven项目

    idea打包maven项目jar_tomcat部署maven项目今天遇到一个需求,客户要求项目用maven管理,真是操碎了心,还好最终解决了,也在这里分享一下心得。首先选中要buide成maven的包——>右键——>addframeworksupport…,然后勾选maven即可;…

    2026年4月17日
    9
  • spring cloud 入门系列三:使用Eureka 搭建高可用服务注册中心

    在上一篇中分享了如何使用Eureka进行服务治理,里面搭建的服务注册中心是单体的,但是在实际的应用中,分布式系统为了防止单体服务宕机带来严重后果,一般都会采用服务器集群的形式,服务注册中心也是一样

    2022年2月16日
    43
  • Docker常用命令大全「建议收藏」

    Docker常用命令大全「建议收藏」Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化、容器是完全使用沙箱机制,彼此之间没有任何接口。一个完整的Docker有以下几个部分组成:DockerClient客户端Docker守护进程守护进程Docker镜像镜像Docker容器容器下面是Docker的常用命令:Docker常用命令大全容器生命周期管理命令runstart/stop/restart

    2026年1月16日
    6
  • 收藏!小白程序员必看:AI Agent与大模型微调入门指南

    收藏!小白程序员必看:AI Agent与大模型微调入门指南

    2026年3月14日
    3
  • PCM设备是做什么的? PCM作用是什么?

    PCM设备是做什么的? PCM作用是什么?PCM 可以提供用户从 2M 到 155M 速率的数字数据专线业务 也可以提供话音 图象传送 远程教学等其他业务 那么 PCM 设备是做什么的 PCM 作用是什么 接下来我们就跟随飞畅科技的小编一起来看看吧 PCM 的含义 1 PCM PulseCodeMod 的缩写 即是 脉冲编码调制 2 脉冲编码调制的作用 将模拟的信号经过抽样 量化 编码转化成标准的数字信号 PCM 设备的作用 1 将低速业务转换成数字信号 并装入 64kbit s 通道 2 将 30 路 64kbit s 通道复接成 2M

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号