NBlog icon indicating copy to clipboard operation
NBlog copied to clipboard

查询异常

Open xingchen121 opened this issue 2 years ago • 7 comments

image 你好,我清除了redisdb并重启了一下后端服务,可以看到blogViewMap与数据库中的blogid是对应的,但是过一段时间,我再查看redis ,发现里面的key都被清空了,然后导致查询博客id异常,请问这是什么原因导致的呢

xingchen121 avatar Mar 10 '22 02:03 xingchen121

但是过一段时间,我再查看redis

在这段时间内,你做了什么操作呢

出现了异常,可以把异常堆栈贴出来

Naccl avatar Mar 10 '22 02:03 Naccl

image

没有什么操作,就刚部署完 ,过一会,再访问首页就显示异常 然后我查看redis,里面的key都被清除

xingchen121 avatar Mar 10 '22 03:03 xingchen121

https://github.com/zhinian1213/NewBlogRepository/issues/1

有人出现相同的问题,而这个问题通常发生在「手动修改数据库 blog 表的数据,而没有通过后台管理」,结果就是 Redis 没有这篇博客的访问量记录,BlogServiceImpl#152 从 Redis 读出一个 null,强转 int 时出现空指针异常。

程序在启动时,会自动从 MySQL 加载缓存到 Redis,所以解决步骤是:

  1. 结束程序
  2. 删除 Redis DB 中 blogViewsMap 这个 key(或者直接清空对应的整个 DB)
  3. 重新启动程序

你说的没有任何操作,Redis 中的 key 都被清除了。程序不会在没有操作的情况下删除 key,你应该检查是否有其它程序使用了相同的 DB。

Naccl avatar Mar 10 '22 03:03 Naccl

应该是没有的,docker里面只运行了博客后台。重启会恢复正常,但是过一会,redis数据又没了,很诡异

xingchen121 avatar Mar 10 '22 05:03 xingchen121

Redis 设置密码了吗,也有人因为未设置密码并且开启外网访问,被扫到删库过。

其它的我也帮不上忙了,不是程序原因,检查运行环境吧。

Naccl avatar Mar 10 '22 05:03 Naccl

好像是没有设置密码的原因,我新建了一个> redis容器,目前还没有出现问题

xingchen121 avatar Mar 10 '22 08:03 xingchen121

感谢感谢,问题已经解决了,就是没设密码,被篡改了(⊙o⊙)

xingchen121 avatar Mar 10 '22 15:03 xingchen121