redis 持久化 RDB

#什么是持久化
将数据从掉电易失的内存存到能永久储存的设备上 (将内存中的数据存到硬盘中 称为持久化)

#redis为什么需要持久化
用redis 做缓存的时候可以不需要持久化, 如果把它作为一为内存数据库的时候 需要做持久化 ,消息队列也需要做持久化(list 先进先出)

#redis 持久化方式
RDB (Redis DB)
AOF (AppendOnlyFile)

RDB
在默认情况下,redis将数据库快照保持在名字为 dump.rdb 的二进制文件中
策略
自动:按照配置文件中的条件满足就执行 bgsave
save 60 1000,Redis 要满足 60秒内 一千个键被改动的时候执行自动保存一次
手动:客户端发起SAVE ,BGSAVE 命令

BGSAVE 命令
1.redis > bgsave
2.非阻塞,redis 服务正常接收处理客户端请求
3.Redis 会folk()一个新的子进程来创建RDB文件,子进程处理完后 向父进程发送一个信号,通知它处理完毕
4. 父进程用dump.rdb 替代旧文件
{客户端} -》(save) {redis 服务器} -》(创建){RDB文件}

在这里插入图片描述
保存的是 二进制数据 rdb 是一个二进制文件

SAVE 命令 和BGSAVE命令
Save 不用创建新的进程 ,速度略快
BGsave 需要创建子进程 ,消耗额外的 内存
Save 适合停机维护 ,服务低谷时期
BGsave 适合线上执行

优点
完全备份 ,不同时间的数据集备份可以做到多版本回复
紧凑的单一文件 ,方便网络传输,适合灾难恢复
恢复大数据集速度较AOF快
缺点
会丢失最近写入,修改的而未能持久化的数据
folk 过程非常耗时 ,会造成毫秒级不能响应客户端请求

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值