网页一直提示500错误,经过排查,发现是redis set那里出问题。
登陆上ssh
命令行中输入:
redis-cli
连上redis-server
#显示基本信息
info
set test "testtext"
set的时候返回错误:
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
中文意思:
Redis被配置为保存快照,但它目前不能持久化到硬盘。用来修改集合数据的命令不能用。请查看Redis日志的详细错误信息
于是,第一反映是不是硬盘爆满了。
#查看硬盘空间
df
发现硬盘空间占用正常,不是上次的磁盘空间满了的问题。
根据意思理解是:
强制关闭Redis快照导致不能持久化。
解决办法,修改redis配置
redis-cli
config set stop-writes-on-bgsave-error no
关闭这个设置就好了,这样当快照写入失败时,不会阻止继续写入数据。
不过只有本次有效, 重启redis又会恢复原来的设置。
如果要永久改变这项设置,需要修改redis配置文件
vi /etc/redis/redis.conf
vi 的命令/bgsave,回车 搜索关键字,找到后修改为no
stop-writes-on-bgsave-error no
ESC wq保存
重启redis生效
service redis-server restart