Redis持久化(RDB)
1: 啥是持久化:在指定的时间间隔内,将数据集快照写入硬盘中.
2:持久化执行原理: 在RDB持久化过程中redis会单独创建一个子进程(fork),会将数据写入临时文件中,等持久化过程结束,会覆盖dump.rdb文件,如果直接写入,中途发生意外会造成数据丢失。
FORK
- 作用是复制一个与当前进程一样的进程。新进程的所有数据 数值都和原进程一致,但是是一个全新的进程,并作为原进程的子进程
- 在 Linux 程序中,fork() 会产生一个和父进程完全相同的子进程,但子进程在此后多会 exec 系统调用,出于效率考虑,Linux 中引入了 写时复制技术
RDB优点:
- 适合大规模的数据恢复;
- 对数据完整性和一致性要求不高更适合使用;
- 节省磁盘空间;
- 恢复速度快。
RDB缺点:
- 最后一次持久化数据可能丢失
- 数据庞大消耗性能
RDB配置文件
磁盘已满无法写入磁盘,关闭写操作(推荐yes)
设置持久化规则,save 多少时间(秒) 写入次数,设置save 20 3
持久化的文件是否进行压缩存储。(推荐yes)
完整性的检查,即数据是否完整性、准确性。(推荐yes)
生成文件默认名称,dump.rdb
生成规则:即每次启动redis之后,在根目录生成文件
启动redis后我们可以看到文件大小为88,
先里面添加几条数据,再次查看