redis中执行命令操作报错((error) MISCONF Redis is configured to save RDB snapshots)

redis中执行set操作报错

(error) MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error
译:misconf redis被配置以保存数据库快照,但misconf redis目前不能在硬盘上持久化。用来修改数据集合的命令不能用,请使用日志的错误详细信息
在这里插入图片描述
网上由于强制停止redis快照,不能持久化引起的错误

解决方案

  • 关闭配置项stop-writes-on-bgsave-error
    连接redis — 执行 config set stop-writes-on-bgsave-error no
    在这里插入图片描述

  • 再执行set操作
    set a hh
    在这里插入图片描述
    执行成功,这个方案类似于java的异常捕获,让程序能继续运行,根本解决方案还是需要修改配置

根本解决方案(修改配置)

执行----config set stop-writes-on-bgsave-error no ----只是让程序忽略了这个异常,使得程序能够继续往下运行,但实际上数据还是会存储到硬盘失败!Redis是daemon模式运行的,我们无法查找详细的日志
修改配置文件设置logfile参数为文件(默认是stdout,建议以后安装完毕就修改这个参数为文件,不然会丢掉很多重要信息),重启Redis,查看日志

  • linux系统
  1. 修改配置文件设置logfile参数为文件(默认是stdout)
  2. 在/etc/sysctl.conf 添加一项 ‘vm.overcommit_memory = 1’ ,然后重启(或者运行命令’sysctl vm.overcommit_memory=1’ )使其生效

参考博客----连接Redis后执行命令错误----

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值