Redis持久化策略
都依凡
撰写于 2023年 05月 28 日

Redis持久化策略

1. RDB持久化策略

RDB是redis持久化数据到磁盘的策略

将内存以快照形式保存Redis数据库中的数据的方式,就是某一时刻,将Redis内存中的数据全量备份到磁盘,RDB就是redis DataBase的缩写

备份会不会阻塞主线程

Redis是单线程数据处理,Redis提供了两个命令来生成RDB,一个是save 一个是bgsave

  • save 保存:会阻塞Redis主线程,直到RDB文件备份完成为止,在这个期间,Redis不能处理客户端的任何请求
  • bgSave 保存:不会阻塞主线程,会创建一个子线程,单独我负责RDB文件的数据备份,

RDB的优势和劣势

  • 优势
  1. RDB文件紧凑,全量备份,适合进行备份和灾难恢复
  2. 生成RDB文件的时候,Redis主进程会分叉一个子进程来处理保存数据,主进程不需要进程IO操作
  3. RDB在恢复文件的时候要比AOP速度快

2. AOF持久化策略

AOF持久化策略,以文件的形式存储Redis内存中的数据,他的文件格式是AOF,他存储的数据是客户端交给Redis执行的写命令

因为AOF是在文件中追加写入,由于IO操作的阻塞性,会导致主线程挂起,在写入的时间中无法服务新的请求,因而吞吐量收到影响

为了解决上述的问题,Redis并不会立即将数据写入到硬盘中,

Redis持久化策略

Redis持久化策略

1. RDB持久化策略

RDB是redis持久化数据到磁盘的策略

将内存以快照形式保存Redis数据库中的数据的方式,就是某一时刻,将Redis内存中的数据全量备份到磁盘,RDB就是redis DataBase的缩写

备份会不会阻塞主线程

Redis是单线程数据处理,Redis提供了两个命令来生成RDB,一个是save 一个是bgsave

  • save 保存:会阻塞Redis主线程,直到RDB文件备份完成为止,在这个期间,Redis不能处理客户端的任何请求
  • bgSave 保存:不会阻塞主线程,会创建一个子线程,单独我负责RDB文件的数据备份,

RDB的优势和劣势

  • 优势
  1. RDB文件紧凑,全量备份,适合进行备份和灾难恢复
  2. 生成RDB文件的时候,Redis主进程会分叉一个子进程来处理保存数据,主进程不需要进程IO操作
  3. RDB在恢复文件的时候要比AOP速度快

2. AOF持久化策略

AOF持久化策略,以文件的形式存储Redis内存中的数据,他的文件格式是AOF,他存储的数据是客户端交给Redis执行的写命令

因为AOF是在文件中追加写入,由于IO操作的阻塞性,会导致主线程挂起,在写入的时间中无法服务新的请求,因而吞吐量收到影响

为了解决上述的问题,Redis并不会立即将数据写入到硬盘中,

版权属于:都依凡 所有,采用《知识共享署名许可协议》进行许可,转载请注明文章来源。

本文链接: http://blog.anlucky.cn/index.php/programming/database/168

赞 (7)

评论区(暂无评论)

啊哦,评论功能已关闭~