3. redis RDB快照

29 阅读1分钟
  1. Redis提供两个命令来生成RDB文件,分别是save和bgsave
  • save:在主线程中执行,会导致阻塞。
  • bgsave:创建一个子进程,专门用于写入RDB文件,避免了主线程的阻塞,这也是Redis RDB文件生成的默认配置。
  1. Redis是对全部数据做快照

  2. 做快照时数据是能修改的,redis借助操作系统的写时复制技术,执行快照的同时,正常处理写操作。如果主线程要修改一块数据,那么该数据就会被复制一份,生成该数据的副本,然后bgsave子线程就会把这个副本写入rdb文件。

4.redis4.0中提出了一个混合使用AOF日志和内存快照的办法,内存快照以一定的频率执行,在两次快照之间,使用AOF日志记录这期间的所有命令。在下一次快照备份的时候,只追加这些命令即可。