1.报错信息

今天一上午,启动项目,over,redis起不来,赶紧去查看redis到底什么鬼,一看redis连接明明是好的,系统就是起不来,重启redis,立马就会,过一会又报错。决心好好看看是一个什么鬼。

MISCONF Redis is configured to save RDB snapshots, but it is currently not able to...

2.解决问题

1)检查redis是否启动

systemctl status redis

在这里插入图片描述

启动redis

systemctl start redis

重启redis

systemctl restart redis.service

2)redis启动没问题,进入里面去ping

redis-cli

在这里插入图片描述

结果返回了erro错误信息Redis is configured to save RDB snapshots, but is currently not able to persist on disk. but is currently not able to persist on disk.

Redis is configured to save RDB snapshots, but is currently not able to persist on disk. but is currently not able to persist on disk.

一看信息,说的是如果你配置(redis.conf)里面stop-writes-on-bgsave-error 选项如果 = yes, redis 会创建一个新的后台进程dump rdb。
假设 :创建快照(硬盘上,产生一个新的rdb文件)需要 20s时间,redis主进程,在这20s内,会继续接受客户端命令,但是,就在这20s,内,创建快照!!!,出错了,比如磁盘满了,那么redis会认为,你当下,持久化数据出现了问题,你就不要再set啦。
参考一个人的博客信息:https://blog.csdn.net/weixin_39472415/article/details/99703185
3)决定更改stop-writes-on-bgsave-error
更改redis.config配置文件,但是呢,治标不治本,我决心好好继续往下看
(1)查看redis.confg的位置
(2)首先查看redis启动状态

systemctl status redis

在这里插入图片描述

(3)然后cat /usr/lib/systemd/system/redis.service
在这里插入图片描述

3.治本的去解决

后面我发现,读写速度响应比较慢,考虑到可能是磁盘空间占用过高,因此去查看磁盘文件
1)查看df -h
在这里插入图片描述

当时就觉得问题应该是这里了就去一步步排查哪里文件放的大
2)来到根目录cd /
在这里插入图片描述

3)查看所有的目录占比 du -h -x --max-depth=1

du -h -x --max-depth=1

在这里插入图片描述

4)然后依次进入下面目录,每进入一级就用du -h -x --max-depth=1查看
最后定位到mysql日志这一级
5)删除mysqlId日志,大功告成

echo "" >mysqld.log
du -h mysqld.log

4.问题总结

还是对redis不够了解,内存空间不足真是个大坑,搞了好久好久,期间还有一些其它的问题。不过都还好,各位删除文件根据自己需求删,基本都是一些日志占用比较多,不需要的可以删除掉。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐