关于redis的数据安全_持久化机制(RDB,AOF)

一.RDB(redis database)

  1. RDB是什么

    在指定的时间间隔内将内存的数据集快照写入磁盘,也就是行话讲的快照,它恢复时是将快照文件直接 读到内存里。

  2. RDB保存文件

    RDB保存的文件,在redis.conf中配置文件名称,默认为dump.rdb。

    保存路径可以自行更改,在redis.conf中更改。

  3. 触发RDB机制-三种方式

    快照默认配置:

    • save 3600 1:表示3600秒内(一小时)如果至少有1个key的值变化,则保存。

    • save 300 100:表示300秒内(五分钟)如果至少有100个 key 的值变化,则保存。

    • save 60 10000:表示60秒内如果至少有 10000个key的值变化,则保存。

      当然也可以在redis.conf文件中自行更改

    flushall

    执行flushall命令,也会触发rdb规则。

    save与bgsave

    手动触发Redis进行RDB持久化的命令有两种:

    1. save

      该命令会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成 为止,不建议使用。

    2. bgsave

      执行该命令时,Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。

4.恢复数据

只需要将rdb文件放在Redis的启动目录,Redis启动时会自动加载dump.rdb并恢复数据。

优势

  • 适合大规模的数据恢复 对数据完整性和一致性要求不高更适合使用

  • 节省磁盘空间

  • 恢复速度快

劣势

  • 在备份周期在一定间隔时间做一次备份,所以如果Redis意外down掉的话,就会丢失最后一次快照 后的所有修改。

二.AOF(append only file)

1.AOF是什么

以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来,会记录在appendonly.aof文件中。

2.AOF默认不开启的

注意: AOF文件的保存路径,同RDB的路径一致,如果AOF和RDB同时启动,Redis默认读取AOF的数 据。

3.AOF开启

在redis.conf文件中找到appendonly no 将no 改成yes 则开启AOF服务了。

4.AOF同步频率设置

在redis.conf文件中可以找到appendfsync等字符,然后更改设置

appendfsync always

始终同步,每次Redis的写入都会立刻记入日志,性能较差但数据完整性比较好。

appendfsync everysec

每秒同步,每秒记入日志一次,如果宕机,本秒的数据可能丢失。

appendfsync no

redis不主动进行同步,把同步时机交给操作系统。

优势

  • 备份机制更稳健,丢失数据概率更低。

  • 可读的日志文本,通过操作AOF稳健,可以处理误操作。

劣势

  • 比起RDB占用更多的磁盘空间。

  • 恢复备份速度要慢。

  • 每次读写都同步的话,有一定的性能压力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值