redis异常 Commands that may modify the data set are disabled, because this instance is

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: MISCONF Redis配置为保存RDB快照,但目前无法在磁盘上持久化。可能修改数据集的命令被禁用,因为该实例被配置为在RDB快照失败时报告错误(stop-write -on-bgsave-error选项)。请检查Redis的日志RDB错误的详细信息.

项目场景:


使用redis存储验证码


问题描述:


BUG:本来以为是一个安稳的国庆节,没想到部署的项目还是出了问题

原始的异常代码:


Errorinexecutionnestedexceptionislettucecore. RediscommandexecutionexceptionMISCONFRedisisconfiguredtosaveRDBsnapshots, butitiscurrentlynotabletopersistondisk. Commandsthatmaymodifythedatasetaredisabled, becausethisinstanceisconfiguredtoreporterrorsduringwritesfRDBsnapshottingfails (stop-writes-on-bgsave-erroroption). PleasechecktheRedislogsfordetailsabouttheRDBerror


大致翻译一下:


MISCONF Redis配置为保存RDB快照,但目前无法在磁盘上持久化。可能修改数据集的命令被禁用,因为该实例被配置为在RDB快照失败时报告错误(stop-write -on-bgsave-error选项)。请检查Redis的日志RDB错误的详细信息.


原因分析:


提示:主要出现在这个redis上,我的redis 是使用宝塔linux在宝塔商店安装的,平时使用连接都没有问题,在隔一段时间之后,就会出现这种异常,导致使用redis 的服务都受到影响


解决方案:


根据它的提示,我们需要先查看一下redis的日志,那么问题来了日志保存在哪里呢?


  1. 打开配置文件,查看日志配置目录(搜索 logfile 大概在173行)


2.我们看到配置文件在"/www/server/redis/redis.log"目录,找到这个目录进入查看一下日志,找到最近的异常信息


cat redis.log



看到这里这个异常问题已经很明了了,“打开RDB文件web(在服务器根目录/etc/cron.d)保存失败:权限被拒绝”,博主怀疑是执行某条任务到该目录时没有执行权限.

解决办法执行命令:


chmod777 /etc/cron.d


简单粗暴,之后应该这个异常问题就不会出现了,其实这个异常问题出现过好几次每次的解决办法都是重启redis,解决临时问题治标不治本大家一定要引以为戒!!!

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5月前
|
存储 NoSQL Ubuntu
在Ubuntu上安装Redis并学习使用get、set和keys命令
在Ubuntu上安装Redis并学习使用get、set和keys命令
|
6月前
|
NoSQL 算法 Redis
【Redis 系列】redis 学习十四,sorted_set 初步探究梳理
【Redis 系列】redis 学习十四,sorted_set 初步探究梳理
|
28天前
|
存储 NoSQL 调度
Redis的有序集合(Sorted Set)详解
Redis的有序集合(Sorted Set)详解
|
2月前
|
NoSQL Redis 索引
[Redis]——Redis命令手册set、list、sortedset
[Redis]——Redis命令手册set、list、sortedset
|
2月前
|
存储 NoSQL Java
【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】
【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】
54 0
|
4月前
|
存储 NoSQL 关系型数据库
Redis Sorted Set 底层实现原理深度解读与排行榜实战
Redis Sorted Set 底层实现原理深度解读与排行榜实战
60 0
|
4月前
|
存储 NoSQL 关系型数据库
Redis Set 用了 2 种数据结构来存储,到现在才知道
Redis Set 用了 2 种数据结构来存储,到现在才知道
38 0
|
4月前
|
存储 监控 NoSQL
搞定 Redis 数据存储原理,别只会 set、get 了
搞定 Redis 数据存储原理,别只会 set、get 了
44 0
|
4月前
|
存储 NoSQL Java
面试题:redis除了使用string、set还了解哪些类型
面试题:redis除了使用string、set还了解哪些类型
15 0
|
4月前
|
存储 消息中间件 缓存
Redis不止能存储字符串,还有List、Set、Hash、Zset,用对了能给你带来哪些优势?
Redis不止能存储字符串,还有List、Set、Hash、Zset,用对了能给你带来哪些优势?