redis莫名数据被清问题排查记录
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,新版系统刚发布,前端反馈redis中的值经常被清空,第一反应怀疑谁的代码里面执行了flushall或者flushdb操作通过redis的monitor追踪一波,redis-cli -a "xxx" m
千家信息网最后更新 2025年02月05日redis莫名数据被清问题排查记录
新版系统刚发布,前端反馈redis中的值经常被清空,第一反应怀疑谁的代码里面执行了flushall或者flushdb操作
通过redis的monitor追踪一波,
redis-cli -a "xxx" monitor 如果redis没配置密码可以不用加-a参数,实际操作中我加了个 >> /data/log/trace_redis.log,把所有操作写到文件里面,注意时间长了log会很大
跑下来redis确实会被清掉,但没人/程序执行过flush操作,这里停顿5分钟思考下人生
这里幸亏之前转过一个zabbix监控,有监控redis的使用内存,结果发现redis的内存使用情况:
redis会短时间飙到10G,然后马上掉下来,这时候基本可以判定应该跟内存有关,达到某个阈值之后数据被清了。
去翻redis官网有详细记录:https://redis.io/topics/lru-cache
文档查下来确实是因为reids有内存限制,我们这里是10G,并且有超内存之后的清除策略默认是全清。。。
翻开 /etc/redis.conf (实际路径可能不同)
就这里了,maxmemory设置redis最大使用内存,maxmemory-policy决定超过之后怎么清
Redis提供6种数据淘汰策略: 1. volatile-lru:从已设置过期时间的内存数据集中挑选最近最少使用的数据 淘汰; 2. volatile-ttl: 从已设置过期时间的内存数据集中挑选即将过期的数据 淘汰; 3. volatile-random:从已设置过期时间的内存数据集中任意挑选数据 淘汰; 4. allkeys-lru:从内存数据集中挑选最近最少使用的数据 淘汰; 5. allkeys-random:从数据集中任意挑选数据 淘汰; 6. no-enviction(驱逐):禁止驱逐数据。(默认淘汰策略。当redis内存数据达到maxmemory,在该策略下,直接返回OOM错误); 关于maxmemory设置,通过在redis.conf中maxmemory参数设置,或者通过命令CONFIG SET动态修改 关于数据淘汰策略的设置,通过在redis.conf中的maxmemory-policy参数设置,或者通过命令CONFIG SET动态修改
当然这是redis上的策略,实际追踪发现有个程序一直往redis里面push数据导致的上面的现象,问题解决
数据
内存
策略
时间
参数
实际
动态
命令
程序
监控
问题
不同
很大
最大
下人
不用
代码
前端
密码
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
技能大赛网络服务器配置与管理
大话2单开到哪个服务器好
数据库报错22007
csgo你的地图与服务器的不同
败笔网络安全小组作业
南充bim软件开发工程
网络安全素质教育题库app
网络安全动画宣传短片怎么做
玉树软件开发五星服务
中战集团软件开发面试
关于网络安全教育的必要性
weka连接数据库
常熟诚信软件开发口碑推荐
违反网络安全法的学生事例
马鞍山物业管理软件开发公司
上海微型软件开发厂家价格
发达国家第一个对网络安全
繁星网络技术有限公司
ftp查看服务器日期
离石区网络安全工作
手机服务器安全狗防护
信息检索数据库的作用
关于网络安全的手抄报写的内容
网络安全问题指什么
安徽云主机服务器供货厂
网络技术总监的工资
搭建局域网yum服务器
专业数据库营销公司
湖北数据网络技术服务保障
计算机网络技术专升本视频