Redis设计与实现-第二部分-单机数据库的实现-第10章-rdb持久化.docxVIP

  • 1
  • 0
  • 约2.53千字
  • 约 10页
  • 2022-03-18 发布于浙江
  • 举报

Redis设计与实现-第二部分-单机数据库的实现-第10章-rdb持久化.docx

? ? Redis设计与实现 第二部分 单机数据库的实现 第10章 rdb持久化 ? ? Redis数据库状态:服务器中的非空数据库以及它们的键值对统称为数据库状态。 因为Redis是内存数据库,它将自己的数据库状态存储在内存里面,所以如果不想办法将存储在内存总的数据库状态保存到磁盘里面,那么一旦服务器进程退出,服务器中的数据库状态也会消失不见。 Redis rdb持久化功能,可以把某个时间点上redis在内存中的数据库状态保存到磁盘里面一个RDB二进制文件中,避免数据意外丢失,redis服务器可以用它来还原数据库状态。 RDB文件的创建与载入 有两个命令可以用于生成RDB文件,一个是save(阻塞Redis服务器进程),另一个是bgsave(派生出一个子进程,然后由子进程负责创建RDB文件,服务器进程继续处理命令请求)。 def SAVE() : 创建RDB文件 rdbSave() def BGSAVE() : 创建子进程 pid = fork() if pid ==0 : 子进程负责创建RDB文件 rdbSave() #完成之后向父进程发送信号 signal_parent() elif pid 0 : 父进程继续处理命令请求,并通过轮训等待子进程的信号 handle_request_and_wait_signal() else : 处理出错情况 handle_fork

文档评论(0)

1亿VIP精品文档

相关文档