- 论坛徽章:
- 0
|
场景:用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,里面的中文需要转码吗?之前在别的服务和场景里使用,一直这么用的,也没出现过问题。
|
|