免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11341 | 回复: 2
打印 上一主题 下一主题

redis运行一段时间出现 saving: Permission denied [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2018-03-19 16:26 |只看该作者 |倒序浏览
场景:用redis做缓存服务,nodejs程序进行读写(大多hset,hget,value是json,有中文)。现象:正常运行一段时间(几个小时或几天),问题出现,redis-cli进入后,keys *,看到不正常的key,redis日志也显示Failed opening .rdb for saving: Permission denied
redis 日志:
[32328] 17 Mar 23:42:25.074 * DB saved on disk
[32328] 17 Mar 23:42:25.075 * RDB: 8 MB of memory used by copy-on-write
[12195] 17 Mar 23:42:25.153 * Background saving terminated with success
[12195] 17 Mar 23:45:21.596 * DB saved on disk
[12195] 17 Mar 23:45:21.619 * DB saved on disk
[12195] 17 Mar 23:45:21.682 # Failed opening .rdb for saving: Permission denied
[12195] 17 Mar 23:45:21.695 # Failed opening .rdb for saving: Permission denied


开始正常,后来出现权限问题。

>keys *
1) "200264"
2) "200263"
3) "R$230264"
4) "bCdV"
   "mj_tdk$load"
▽) "msRnXB"
7) "yZx"
"QiNJsd"

1-3是正常的key,下面的key是本不该存在的,出现问题后就乱了。

redis重启,dump回来的数据又正常。

这个是什么问题,有人遇到过吗?
如果hset写入非法数据,那么redis不会返回失败吗?会直接导致redis不可用?
hset的value是json,里面的中文需要转码吗?之前在别的服务和场景里使用,一直这么用的,也没出现过问题。

论坛徽章:
0
2 [报告]
发表于 2018-03-19 17:02 |只看该作者
hset key1 key2 value
这个value长度大概有几K,内容有中文。

论坛徽章:
0
3 [报告]
发表于 2018-03-19 18:15 |只看该作者
本帖最后由 乱.码 于 2018-03-19 18:40 编辑

没人遇到过吗?
什么情况下reids save会运行一段时间就没权限?
什么情况下读写redis会导致内存混乱,key乱了呢?按理说不合法就读写失败啊,怎么会造成已有数据混乱呢nodejs连接redis的client是全局唯一,频繁redis读写操作,会因为是一条连接导致数据混乱吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP