1.redis的持久化方式
持久化: 把内存中的数据持久到磁盘的过程,就是持久化。
作用: 防止数据丢失。
redis持久化的方式: (1)RDB 快照 (2)AOF 日志追加。
1.1rdb持久化方式
RDB 持久性以指定的时间间隔执行数据集的时间点快照 . RDB是redis默认的持久化方式. 存在dump.rdb
(1) 什么时候会触发rdb的方式
【1】手动触发 save命令 bgsave命令
save命令和bgsave的区别
save该命令会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成为止
bgsave 执行该命令时,Redis会在后台==异步==进行快照操作,快照同时还可以响应客户端请求
【2】自动触发----底层原理就是调用了bgsave命令。
1.3如何恢复数据:
dump.rdb文件拷贝到解压的redis中master-slave目录
例:/usr/local/soft/redis-6.2.6/master-slave目录
1.4 rbd持久化的优缺点
优点:
1.持久化速度块,恢复速度也快。
缺点:
1.数据完整性差。
1.5 AOF持久化方式
RDB全量备份总是耗时的,有时候我们提供一种更加高效的方式AOF,工作机制很简单,redis会将每一个收到的 写命令 都通过write函数追加到文件中。通俗的理解就是日志记录。
优缺点:
优点: 数据库完整高。
缺点: 恢复数据时效率低。每次都要往日志文件中追加写命令。
如果上面两种持久化都使用,默认加载appendonly.aof文件,因为redis认为它的数据完整性高。企业中就不要开启appendonly了。