Redis 持久化之RDB

242 阅读1分钟

先观察配置文件

何谓持久化

  • 持久化是将内存数据写入磁盘,以防止服务关闭时内存数据丢失。

何谓RDB (Redis DataBase)

  • RDB是Redis的默认持久化方法

  • 根据一定的时间段,内存中的数据以快照的形式保存到磁盘,相应的文件为dump.db。 (您可以在先前的redis.conf中检查相应的save参数,该save参数确定快照的周期) image.png

工作原理

image.png

何谓fork

fork函数将运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程。这两个进程中的线程继续执行,就像是两个用户同时启动了该应用程序的两个副本。

高性能(High performance)

Redis将单独创建(fork)一个子进程来执行写操作,并让主进程继续处理命令,从而使IO最大化。 使用单独的子进程进行持久化,主进程将不执行任何IO操作,从而确保Redis的高性能。

触发机制(Trigger mechanism)

1、满足保存规则后,rdb规则将自动触发

2、执行flushall命令也会触发rdb规则

3、退出redis,它也会生成rdb

恢复RDB文件(Restore rdb file)

1、首先将dum.rpd保存在/usr/local/bin下

2、flushall或shutdown将发现数据丢失

3、将保存的dump.rpd放入bin下并重新启动,然后发现数据已还原