1.RDB快照持久化方式
1.怎样触发RDB持久化
1.手动命令save
2.手动命令bgsave
3.通过配置自动触发
2.save和bgsave的区别
1.该命令会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成为止。
执行完成时候如果存在老的RDB文件,就把新的替代掉旧的。显然这种方式不好。
2.这种Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。
3.自动触发:
4.在磁盘中以以下方式保存:
如若需要恢复数据:
只需要把dump.rdb文件放入redis的安装目录即可,redis再次启动时回加载安装目录下的dump.rdb文件。
5.rdb的优缺点
优点:
(1)RDB文件紧凑,全量备份,非常适合用于进行备份和灾难恢复。
(2)生成RDB文件的时候,redis主进程会fork()一个子进程来处理所有保存工作,主进程不需要进行任何磁盘IO操作。
(3)RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。
缺点:
快照持久化期间修改的数据不会被保存,可能丢失数据。数据完整性比较差。
2.AOF默认该模式是关闭的
日志记录的方式:提供一种更加高效的方式AOF,工作机制简单,redis会将每一个收到的写命令都通过write函数追加到文件中。
1.aof的触发模式
优点:
(1)AOF可以更好的保护数据不丢失,一般AOF会每隔1秒,通过一个后台线程执行一次fsync操作,最多丢失1秒钟的数据。
(2)AOF日志文件没有任何磁盘寻址的开销,写入性能非常高,文件不容易破损。
(3)AOF日志文件即使过大的时候,出现后台重写操作,也不会影响客户端的读写。
缺点:
(1)对于同一份数据来说,AOF日志文件通常比RDB数据快照文件更大.
(2) 恢复数据时时间要比快照模式慢很多。
缺点:
(1)对于同一份数据来说,AOF日志文件通常比RDB数据快照文件更大.
(2) 恢复数据时时间要比快照模式慢很多。