--6.1.Redis 持久化
redis 支持 RDB 和 AOF 两种持久化机制,持久化可以避免因进程退出而造成数据丢失
一、RDB 持久化
RDB 持久化把当前进程数据生成快照(.rdb)文件保存到硬盘的过程,有手动触发和自动触发
手动触发有 save 和 bgsave 两命令
save 命令:
阻塞当前 Redis,直到 RDB 持久化过程完成为止,若内存实例比较大会造成长时间阻塞, 线上环境不建议用它
bgsave 命令:
redis 进程执行 fork 操作创建子线程,由子线程完成持久化,阻塞时间很短(微秒级), 是 save 的优化,在执行 redis-cli shutdown 关闭 redis 服务时,如果没有开启 AOF 持久化, 自动执行 bgsave; 显然 bgsave 是对 save 的优化。
RDB 文件的操作
命令:
config set dir /usr/local //设置 rdb 文件保存路径
备份:
bgsave //将 dump.rdb 保存到 usr/local 下
恢复:
将 dump.rdb 放到 redis 安装目录与 redis.conf 同级目录,重启 redis 即可
优点:
1,压缩后的二进制文文件适用于备份、全量复制,用于灾难恢复
2,加载 RDB 恢复数据远快于 AOF 方式
缺点: