【Redis】Redis高级:持久化

Redis高级:持久化

Redis是运行在内存中的,这样虽然性能高,但是数据的安全却很难得到保证,一旦Redis服务出现宕机,那么存储在内存中的数据就会全部丢失,为了防止出现这样的问题,需要使用到Redis的持久化技术,即将内存中的数据保存在磁盘中,防止数据丢失

Redis有两种常见的持久化方案:分别为RDB持久化和AOF持久化

1 RDB持久化

1.1 RDB持久化

RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认保存在Redis的运行目录中。

RDB持久化在四种情况下会执行:

  • 执行save命令
  • 执行bgsave命令
  • Redis停机时
  • 触发RDB条件时

1)save命令

执行下面的命令,可以立即执行一次RDB:

在这里插入图片描述

由于Redis是单线程的,而Save命令是让主线程去执行RDB,这也就意味着在RDB过程中,其他所有的命令是会被阻塞的,直到RDB执行完,主线程才能继续接收来自用户的命令。因此Save命令只有在数据迁移时才可能会用到。

2)bgsave命令

下面的命令可以异步执行RDB:

在这里插入图片描述

这个命令执行后会开启一条独立进程去完成RDB的操作,而主进程可以继续处理用户请求,不会受到影响。注意这里开启的是另一个进程,而并非子线程。

3&#x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值