reids-RDB(Redis DataBase)持久化使用方法

一,为什么要使用Redis持久化

  Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以 Redis 提供了持久化功能!

二,什么是RDB(Redis DataBase)

在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。

Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程
都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的。
这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那
RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。我们默认的就是
RDB,一般情况下不需要修改这个配置!

有时候在生产环境我们会将这个文件进行备份!

rdb保存的文件是dump.rdb 都是在我们的配置文件中快照中进行配置的!
在这里插入图片描述

三 ,触发机制

1、save的规则满足的情况下,会自动触发rdb规则
2、执行 flushall 命令,也会触发我们的rdb规则!
3、退出redis,也会产生 rdb 文件!
备份就自动生成一个 dump.rdb

四,bgsave和save对比

命令 save bgsave
IO类型 同步 异步
阻塞? 是(阻塞发生在fock(),通常非常快)
复杂度 O(n) O(n)
优点 不会消耗额外的内存 不阻塞客户端命令
缺点 阻塞客户端命令 需要fock子进程,消耗内存

五,优缺点

优点:

1、适合大规模的数据恢复!
2、对数据的完整性要不高!

缺点:

1、需要一定的时间间隔进程操作!如果redis意外宕机了,这个最后一次修改数据就没有的了!
2、fork进程的时候,会占用一定的内容空间

相关推荐

  1. Redis 使用 RDB 持久方式的过程

    2024-04-10 11:04:02       31 阅读
  2. Redis持久方式

    2024-04-10 11:04:02       30 阅读
  3. Pinia使用方法,数据持久

    2024-04-10 11:04:02       6 阅读
  4. Redis使用手册之持久存储》

    2024-04-10 11:04:02       12 阅读
  5. Redis 持久有几种方式

    2024-04-10 11:04:02       35 阅读
  6. Redis数据持久方式

    2024-04-10 11:04:02       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-10 11:04:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-10 11:04:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-10 11:04:02       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-10 11:04:02       20 阅读

热门阅读

  1. vue中使用use引入的svg怎么添加title

    2024-04-10 11:04:02       13 阅读
  2. git-es6-promisem面试

    2024-04-10 11:04:02       14 阅读
  3. ES6 => 箭头函数

    2024-04-10 11:04:02       13 阅读
  4. Hermite 多项式

    2024-04-10 11:04:02       12 阅读
  5. 使用UDP完成网络单词查询,利用dict数据库

    2024-04-10 11:04:02       13 阅读
  6. Request 读取窗体变量四种方式

    2024-04-10 11:04:02       14 阅读
  7. 深度学习神经网络模型微调

    2024-04-10 11:04:02       16 阅读
  8. React中如何实现父组件调用子组件的方法

    2024-04-10 11:04:02       15 阅读
  9. Unity之Unity面试题(四)

    2024-04-10 11:04:02       13 阅读