我将redis中的key设置为永久有效为什么还是被删除了

场景描述:

前不久,我在服务器上面装了一个 redis ,然后往里面存了一些数据,过一段时间去查看,发现我之前存的数据被删掉了,起初以为是数据过期了,redis 自动把这些删掉的,之后我又存入了一些永不过期的数据进去,可是过了一段时间之后去查看,这些数据还是被删掉了,对于一个刚入门不久的菜鸟而言,是一脸的懵逼,遇到问题就想办法去解决呗~,随后又重学了一遍 redis 的数据删除和淘汰策略,好像跟永不过期的数据也没啥关系,一筹莫展,直到翻到了 记一次redis key丢失的问题排查 这篇博客才恍然大悟

以下我就还原了一下事情的始末


问题描述:

比如:此时我 redis 上有这几个 key

在这里插入图片描述
然后使用 ttl [keyName] 指令查看 key 的有效时长

在这里插入图片描述
可以看到我这个 serialId 的 key 有效时长是 -1 ,也就是永不过期

正常情况下这种 key 是不会被删除掉的

我不知道何故,我的数据每隔一段时间就会被清除,比如过了几个小时后再去查看我 redis 中的数据

在这里插入图片描述
serialId 和 serialNumberId 都平凡无故的不见了

这时我才注意到,为什么我的 reids 上有 backup1backup2backup3backup4 这几个 key ,我也没插入过这几个 key 啊,查看这几个 key 对应的值再结合之前提到的博客才知道,有人连接上了我的 redis ,然后在我 redis 上存入了一些命令,只要这些命令一执行,就会清掉我 redis 中所有的数据。

在这里插入图片描述
T.T 唉 ~ 虽然很难想象到会发生这种事情,但也算是个教训,因为 redis 是刚刚放到服务器上面的,也没设置密码什么的,就让不怀好意的人钻了空子,由此可见网络安全是多么的重要


解决方案:

遂即我就设置了 reids 的密码,我是使用命名的方式设置 redis 密码的

设置命令:config set requirepass [密码]

查看密码:config get requirepass

注意:这种方式设置密码并不会同步到配置文件中,重启 redis 就会失效,想重启 redis 也能设置密码可以修改 redis 的配置文件,参考连接:redis如何设置密码

在这里插入图片描述
删除这几个存放命令的 key

在这里插入图片描述
这样要想进你的 redis 就必须要密码校验了

登陆命令:auth [密码]

在这里插入图片描述
现在我 redis 上的数据就没有动不动被清除了


总结:

由此可见网络安全是多么的重要,不过也得多亏别人,让我又复习了一遍 redis 的删除和淘汰策略

以上文章内容有什么不合理的地方,或者可以改进的地方希望能被指出

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值