二十九、Redis备份

一、概念

1.1介绍

Redis所有数据都是保存在内存中,Redis数据备份可以定期的通过异步方式保存到磁盘上,该方式称为半持久化模式;如果每一次数据变化都写入aof文件里面,则称为全持久化模式;Redis4.0之后还提供了混合持久化方式。同时还可以基于Redis 主从复制实现Redis备份与恢复。即以下备份模式:

半持久化rdb模式
全持久化aof模式
混合持久化
redis主从复制

二、半持久化RDB模式

2.1 什么是rdb

半持久化RDB模式是Redis备份默认方式,是通过快照(snapshotting)完成的,当符合在Redis.conf 配置文件中设置的条件时Redis会自动将内存中的所有数据进行快照并存储在硬盘上,完成数据备份。 Redis启动后会读取RDB快照文件,将数据从硬盘载入到内存,根据数据量大小与结构和服务器性能不同,通常将一个记录一千万个字符串类型键、大小为1GB的快照文件载入到内存中需花费20~30秒钟。

2.2 rdb持久化实现过程

Redis实现快照的过程,Redis使用fork函数复制(写时复制)一份当前进程(父进程)的副本(子进程),父进程继续接收并处理客户端发来的命令,而子进程开始将内存中的数据写入硬盘中的临时文件,当子进程写入完所有数据后会用该临时文件替换旧的RDB文件,至此一次快照操作完成。

2.3 开启rdb持久化

Redis进行RDB快照的条件由用户在配置文件中自定义,由两个参数构成:时间和改动的键的个数。当在指定的时间内被更改的键的个数大于指定的数值时就会进行快照。在配置文件中已经预置了3个条件:

save        900     1         #900秒内有至少1个键被更改则进行快照; 
save        300     10        #300秒内有至少10个键被更改则进行快照; 
save        60      10000     #60秒内有至少10000个键被更改则进行快照

默认可以存在多个条件,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值