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”命令查看。