Redis客户端常见异常

news/2024/11/23 12:49:33/

客户端读写超时

  • 读写超时时间设置得过短
  • 命令本身就比较慢
  • 客户端与服务端网络不正常
  • redis自身发生堵塞

客户端连接超时

  • 连接超时时间设置过短
  • redis发生阻塞,造成tcp-backlog 已满,造成新的连接失败
  • 客户端与服务端网络不正常

客户端缓冲区异常

  • 输出缓冲区满,例如将普通客户端的输出缓冲区设置为1M 1M 60;
 config set client-output-buffer-limit "normal 1048576  1048576  60  slave  268435456  67108864  60  pubsub 33554432  8388608 60"

如果使用get 命令获取一个bigkey(例如3M) ,就会出现异常,因为默认位1M(1048576字节)

  • 长时间闲置连接被服务端主动断开(timeout参数设置,当闲置时间大于这个值,就会被服务端主动断开)
  • 不正常并发读写

Lua脚本正在执行

如果redis 正在执行lua脚本,并且超过了lua-time-limit ,此时其它客户端调用redis 时,会收到redis busy running a script;

可以使用脚本杀死,script kill 或者 shutdown save

需要注意的是script kill 该命令在脚本执行过写操作是不会生效的,所以要么等待脚本执行结束或者是shutdown save 停掉redis服务,虽然redis脚本好用,但是需要谨慎使用。

redis正在加载持久化文件

如果redis正在加载持久化文件时,客户端调用redis ,就会报loading redis is loading the dataset in memory错误

redis使用的内存超过maxmemory配置

客户端在执行写操作时,如果redis 的使用内存大于maxmemory 的设置,会收到 oom used memory > maxmemory 错误;
此时应该调整maxmemory 的值并造成内存增长的原因。当然这也是因为redis的淘汰策略使用的是默认值:maxmemory-policy:noeviction
noeviction(默认策略):对于写请求不再提供服务,直接返回错误
临时解决方案:config set maxmemory-policy allkeys-lru 设置

客户端连接数过大

如果客户端连接数超过了maxlients ,新的客户端连接就会出现报错:err max number of clients reached

redis 默认值为10000 ,正常都是够用的,出现这种情况属于异常情况,原因很多,需要后续排查。

临时解决方案就是: 下线一些,应用程序中不重要的部分使用,使得连接数降下来 或者调整一下maxclients 值进行问题修复。但是还是得找出根源,不然过段时间又会出现问题。


http://www.ppmy.cn/news/1233.html

相关文章

[附源码]计算机毕业设计疫情期间小学生作业线上管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【经验分享】突然我的SM.MS的图床没法访问了(内附解决方法)

【经验分享】突然我的SM.MS的图床没法访问了(内附解决方法) 一大早写文章,发现Markdown里的图片全部都不能成功加载了,这个的确挺头疼的! 文章目录1 说一说现象2 简单排查一下3 查找解决方案4 实施解决方案5 总结6 更多…

双十二电容笔哪个品牌好?十大电容笔知名品牌

现在,电容笔的普及度和性能都在不断提高。而如何选择一款性价比高的电容笔,则成为了一个很大的难题。很多人把电容笔作为日常使用的工具,因此,大家都在寻找更好,更经济的电容笔。所以,哪个品牌的电容笔最便…

Java并发编程—java异步Future的迭代过程

在我们java多线程中,我想做一件事儿,但是我又不想影响主线程的执行,很多铁子都会想到用异步任务完成,这个时候我们的主角FutureTask就登场了。 一、FutureTask介绍 FutureTask提供了对Future的基本实现,是一个可取消的…

C语言刷题(2)

🐒博客名:平凡的小苏 📚学习格言:别人可以拷贝我的模式,但不能拷贝我不断往前的激情 文件拷贝 问题描述: 小蓝正在拷贝一份文件,他现在已经拷贝了 t 秒时间,已经拷贝了 c 字节&#…

基于PSO粒子群算法的MPPT最大功率跟踪Simulink仿真,PSO采用S函数实现

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 MPPT控制器的全称是“最大功率点跟踪”(Maximum Power Point Tracking)太阳能控制器,是传统太阳能充放电控制器的升级换代产品。MPPT控制器能够实时侦测太阳能…

HTML+CSS大作业【传统文化艺术耍牙15页】学生个人网页设计作品

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

无刷三相直流电机电动工具驱动方案设计

电动工具是一种工具,其致动通过附加的动力源和机构比仅其他手工劳动与使用手工工具,电动工具用于工业、建筑、花园、做饭、清洁等家务劳动,以及在房子周围用于驱动(紧固件)、钻孔、切割、成型、打磨、研磨、布线、抛光…