一文带你看懂Redis如何实现持久化!

本文深入介绍了Redis的持久化机制,包括RDB(Redis DataBase)和AOF(Append Only File)两种方案。RDB在满足特定条件时生成数据快照,适合用于灾难恢复,但无法做到实时持久化。AOF记录每次写操作,提供秒级持久化,但文件可能变大。Redis可以通过配置调整持久化策略,如AOF的fsync策略和重写机制。文章还通过实例演示了如何使用shutdown命令持久化数据,以及如何通过flushall模拟数据丢失并恢复。
摘要由CSDN通过智能技术生成

什么是Redis的持久化?

可能很多人很少接触这个词,总觉的我们Redis的所有数据都是全部能够永久存储的。然而你可能不知道的是,Redis的数据都是在内存当中的,如果没有持久化策略,你关闭Redis或者之后,你的数据有可能全部都丢失了。我们每再一次登录Redis访问上一次数据的时候,我们都看到了原来的数据,就是得益于Redis的持久化。Redis的持久化简单说就是,将Redis存在内存中的值存储到可以永久存储的地方(磁盘等)

Redis的持久化方案

  • RDB Redis DataBase
  • AOF Append Only File

RDB Redis DataBase

RDB 是 Redis 默认的持久化方案。当满足一定条件的时候,会把当前内存中的数据写入磁盘,生成一个快照文件 dump.rdb。Redis 重启会通过加载 dump.rdb 文件恢复数据。dump.rdb是我们redis文件当中的一个,位置如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HhQ8SbzO-1627894210787)(https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/7948575/ah1xbo289c.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1627893909;1627901109&q-key-time=1627893909;1627901109&q-header-list=&q-url-param-list=&q-signature=a73afec3b369103a6f391d30d4823dd6edcfd91d)]

RDB是怎么实现持久化的

RDB是按照规则来触发持久化存储的,在我们的redis.conf中我们可以看到如下的几个配置:

save 900 1 # 900 秒内至少有一个 key 被修改(包括添加)
save 300 10 # 300 秒内至少有 10 个 key 被修改
save 60 10000 # 60 秒内至少有 10000 个 key 被修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FBvXxLSf-1627894210792)(https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/7948575/potum9cuqd.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值