Redis学习笔记5-数据持久化

数据持久化


手工备份(持久化)
备份命令:save
会在安装目录下生成一个dump.rdp文件。
恢复备份:只需要将dump.rdp放到安装文件夹下,启动即可。
查看安装目录命令:config get dir

redis可以设置有2种持久化设置选项,“快照”和“AOF”。

名称描述优点缺点
快照默认情况下60秒刷新到disk一次[save 60 10000 当有1w条keys数据被改变时],Redis的数据集保存在叫dump.rdb一个二进制文件,这种策略被称为快照。快照易恢复,适合文件也小宕机等情况的时候快照的数据可能会不完整,且当文件很大会造成阻塞时,所以大文件不适合使用这种方式
AOF把每条写命令都写入文件,通过类似日志模式追加到磁盘宕机时数据损失1秒以内,适合于大文件有持续读写IO压力

快照

在硬盘上存储某一个时间点的数据。与之相关的配置参数:

  1. Save
    指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
    save

    Redis默认配置文件中提供了三个条件:
    save 900 1
    save 300 10
    save 60 10000
    分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。

  2. stop-writes-on-bgsave-error
    当持久化出现错误时,数据库是否继续提供写的功能。Yes为不能写,no为可以继续写入。

  3. rdbcompression
    持久化到RDB文件时,是否压缩,“yes”为压缩,“no”则反之

  4. dbfilename
    持久化的文件

AOF

  1. appendonly
    开启append only 模式之后,redis 会把所接收到的每一次写操作请求都追加到appendonly.aof 文件中,当redis 重新启动时,会从该文件恢复出之前的状态。但是这样会造成appendonly.aof 文件过大,所以redis 还支持了BGREWRITEAOF 指令,对appendonly.aof 进行重新整理。默认是不开启的。
  2. appendfsync
    设置aof的同步频率,有三种选择always、everysec、no,默认是everysec表示每秒同步一次。
  3. no-appendfsync-on-rewrite
    指定是否在后台aof文件rewrite期间调用fsync,默认为no,表示要调用fsync(无论后台是否有子进程在刷盘)。Redis在后台写RDB文件或重写afo文件期间会存在大量磁盘IO,此时,在某些linux系统中,调用fsync可能会阻塞。
  4. auto-aof-rewrite-percentage
    指定Redis重写aof文件的条件,默认为100,表示与上次rewrite的aof文件大小相比,当前aof文件增长量超过上次afo文件大小的100%时,就会触发background rewrite。若配置为0,则会禁用自动rewrite
  5. auto-aof-rewrite-min-size
    指定触发rewrite的aof文件大小。若aof文件小于该值,即使当前文件的增量比例达到auto-aof-rewrite-percentage的配置值,也不会触发自动rewrite。即这两个配置项同时满足时,才会触发rewrite。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值