千家信息网

redis内存满了的解决方法

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章主要介绍redis内存满了的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!redis内存满了解决方法:1,增加内存。2,使用内存淘汰策略。3,Redis集群。重
千家信息网最后更新 2025年11月13日redis内存满了的解决方法

这篇文章主要介绍redis内存满了的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

redis内存满了解决方法:

1,增加内存。

2,使用内存淘汰策略。

3,Redis集群。

重点介绍下2、3:

第二点:

我们知道,redis设置配置文件的maxmemory参数,可以控制其最大可用内存大小(字节)。

那么当所需内存,超过maxmemory怎么办?

这个时候就该配置文件中的maxmemory-policy出场了。

其默认值是noeviction。

下面我将列出当可用内存不足时,删除redis键具有的淘汰规则。

规则说明:

1、volatile-lru

使用LRU算法删除一个键(只对设置了生存时间的键)

2、allkeys-lru

使用LRU算法删除一个键

3、volatile-random

随机删除一个键(只对设置了生存时间的键)

4、allkeys-random

随机删除一个键

5、volatile-ttl

删除生存时间最近的一个键

6、noeviction

不删除键,只返回错误

LRU算法,least RecentlyUsed,最近最少使用算法。也就是说默认删除最近最少使用的键。

但是一定要注意一点!redis中并不会准确的删除所有键中最近最少使用的键,而是随机抽取3个键,删除这三个键中最近最少使用的键。

那么3这个数字也是可以设置的,对应位置是配置文件中的maxmeory-samples.

三、集群怎么做

Redis仅支持单实例,内存一般最多10~20GB。对于内存动辄100~200GB的系统,就需要通过集群来支持了。

Redis集群有三种方式:客户端分片、代理分片、RedisCluster(在之后一篇文章详细说一下。)

1、客户端分片

通过业务代码自己实现路由

优势:可以自己控制分片算法、性能比代理的好

劣势:维护成本高、扩容/缩容等运维操作都需要自己研发

2、代理分片

代理程序接收到来自业务程序的数据请求,根据路由规则,将这些请求分发给正确的Redis实例并返回给业务程序。使用类似Twemproxy、Codis等中间件实现。

优势:运维方便、程序不用关心如何链接Redis实例

劣势:会带来性能消耗(大概20%)、无法平滑扩容/缩容,需要执行脚本迁移数据,不方便(Codis在Twemproxy基础上优化并实现了预分片来达到Auto Rebalance)。

3、Redis Cluster

优势:官方集群解决方案、无中心节点,和客户端直连,性能较好

劣势:方案太重、无法平滑扩容/缩容,需要执行相应的脚本,不方便、太新,没有相应成熟的解决案例

以上是redis内存满了的解决方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

内存 算法 集群 程序 代理 方法 业务 优势 劣势 实例 客户 客户端 性能 文件 时间 规则 配置 平滑 内容 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络工程里有网络安全吗 多牛网络技术有限公司 招聘 进销存管理数据库课程设计 启迪控股网络安全 校园落实网络安全等级保护工作 c web服务器保存文件 网络安全技术岗位专业测试 查询数据在数据库哪个表中 安全数据库评测软件 hp服务器虚拟化价格 网络安全七条底线的要求 安徽服务器机箱工厂云空间云主机 服务器开启防火墙 java上传文件到数据库 备案服务器多少钱一个 五级网络安全是 嵌入式软件开发项目过程问题 山东济南联想服务器总代理店面 如何核算一个软件开发成本 软件开发人员产出 网络安全与技术法规心得体会 浙江软件开发服务电话 延庆区技术软件开发口碑推荐 鉴权服务器和业务服务器 网络安全工程师哪个城市 网络安全渗透测试依据 知名人士数据库方案 如何写学校网络安全自查报告 游戏软件开发工作室 综合金融互联网科技
0