加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Redis系列七:redis持久化

发布时间:2020-12-16 04:46:34 所属栏目:安全 来源:网络整理
导读:redis支持RDB和AOF两种持久化机制,持久化可以避免因进程退出而造成数据丢失 一、RDB持久化 RDB持久化把当前进程数据生成快照(.rdb)文件保存到硬盘的过程,有手动触发和自动触发 手动触发有save和bgsave两命令 save命令:阻塞当前Redis,直到RDB持久化过程

redis支持RDB和AOF两种持久化机制,持久化可以避免因进程退出而造成数据丢失

一、RDB持久化

RDB持久化把当前进程数据生成快照(.rdb)文件保存到硬盘的过程,有手动触发和自动触发 手动触发有save和bgsave两命令 save命令:阻塞当前Redis,直到RDB持久化过程完成为止,若内存实例比较大会造成长时间阻塞,线上环境不建议用它 bgsave命令:redis进程执行fork操作创建子线程,由子线程完成持久化,阻塞时间很短(微秒级),是save的优化,在执行redis-cli shutdown关闭redis服务时,如果没有开启AOF持久化,自动执行bgsave; 显然bgsave是对save的优化。

bgsave

RDB文件的操作

???命令:config set dir /usr/local ?//设置rdb文件保存路径

???备份:bgsave ?//将dump.rdb保存到usr/local下

???恢复:将dump.rdb放到redis安装目录与redis.conf同级目录,重启redis即可

???优点:1,压缩后的二进制文文件适用于备份、全量复制,用于灾难恢复

? ? ? ? ? ? ? 2,加载RDB恢复数据远快于AOF方式

???缺点:1,无法做到实时持久化,每次都要创建子进程,频繁操作成本过高

? ? ? ? ? ? ? 2,保存后的二进制文件,存在老版本不兼容新版本rdb文件的问题

二、AOF持久化

RDB

redis.confyes ?(

appendfilename "appendonly.aof" ??

??????

   ?1

?????????2

?????????3

?????????4

AOF

AOF

appendonly yes ????//

# appendfsync always //

appendfsync everysec //

# appendfsync no ???//

no-appendfsync-on-rewrite ?yes ?//

auto-aof-rewrite-percentage 100 ?//aof

auto-aof-rewrite-min-size 64mb ??//aof

如何从AOF恢复?

1.

2.

3.

redis重启时恢复加载AOF与RDB顺序及流程:

1

2

3

4

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读