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

您所在的位置:网站首页 想升级就必须消失一段时间 我将redis中的key设置为永久有效为什么还是被删除了

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

2024-07-12 09:23| 来源: 网络整理| 查看: 265

场景描述:

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

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

问题描述:

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

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

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

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

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

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

这时我才注意到,为什么我的 reids 上有 backup1 、 backup2 、 backup3、 backup4 这几个 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 的删除和淘汰策略

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3