Redis的高级应用——数据安全



Redis的数据保存在内存中,速度十分快。这也就意味着,一个恶意破解redis数据库密码的用户,可以在一秒钟进行更多的尝试。如果用户密码级别较低或更换频率过长,就会造成致命的危害。


1、设置用户

Redis默认是没有用户的,我们可以在执行各种操作命令时,都不需要用户验证,但这是十分不安全的,多人使用Redis的话,也是特别不好管理的。下面介绍如何设置Redis用户:


1)进入安装目录,编辑文件redis.conf。




2)输入“/”,搜索requirepass foobared




3)重启Redis

客户端连接,需要输入用户身份:


两种方式:

——使用“auth”命令


——在客户端连接时指定用户



注意:如果原来未设置用户,立刻修改配置文件,重启Redis后必须输入用户名,并且输入用户名之后之前的数据就找不到了。因此,在设定用户前,一定要做好备份!



2、持久化相关

Redis中的key数据存储在内存中,关机会释放。同样,他也支持持久化同步到硬盘。这样使得Redis的数据安全性大大提高。

两种方式:

1)snapshotting(快照)

Redis的默认方式,该方式下内存数据存入二进制文件,但无法查看,一般文件类型为dump.rdb。

具体配置在redis.conf文件中,语法含义注释也说的挺清楚了,就不多说了。





注意:这种快照方式配置简单、灵活,但如果在宕机之前还没有到备份快照的时间,那么宕机之前到上一次备份之间的所有数据将会丢失。下面一种方式就可以解决这种情况。


2)Append-only file

这种方式操作的是存放文件,简单的说,Redis每收到一个命令请求,都会写到文件中。当Redis正常或非正常重启时会执行文件中的操作来重建整个库,有点sql脚本的意思。


实现方式:

同样是在redis.conf中将appendonly no 改为appendonly yes,然后配置具体方式,这里采用 everysec每秒钟写入磁盘一次。



进入客户端,随便输入一条命令,然后退出,执行“ll”命令,查看:

appendonly.aof文件就是我们配置产生的文件,使用“cat”命令查看。


优质内容筛选与推荐>>
1、Cracer8-模块和正则表达式
2、phpStudy中MySQL版本升级到5.7.17方法
3、设计模式记录2之"简单工厂模式"
4、linux上编写运行 dotnet core api
5、异常处理,约束,MD5加密日志处理


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号