redis 练习笔记(六)--- redis 持久化

一,概述


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

二,RDB

1. rdb概述

RDB持久化把当前进程数据生成快照(.rdb)文件保存到硬盘的过程,有手动触发和自动触发

2.手动触发

    i. save:

 阻塞当前Redis,直到RDB持久化过程完成为止,若内存实例比较大会造成长时间阻塞,线上环境不建议用它

  ii. bgsave 

 redis进程执行fork操作创建子线程,由子线程完成持久化,阻塞时间很短(微秒级),是save的优化,在执行redis-cli shutdown关闭redis服务时,如果没有开启AOF持久化,自动执行bgsave;

3. RDB文件操作

i. 在配置文件设置rdb文件存放路径

(默认是与redis.conf 同级)

ii.在redis客户端输入bgsave命令 生成dump.rdb 文件

lastsave可以查看bgsave命令是否执行成功,返回的是最后生成.rdb文件的时间戳

iii. 将生成好的dump.rdb备份以下,不要与redis.conf同目录,否则关闭redis服务会默认再执行一次bgsave,覆盖掉刚刚手动生成的dump.rdb

iv.关闭服务器后,将刚刚备份好的dump.rdb与redis.conf同级,再重启redis即可恢复备份数据。

 

优点:

   a.压缩后的二进制文件,适用于备份,全量复制,灾难恢复

   b.RDB恢复数据远快于AOF方式

缺点:

   a. 无法做到实时持久化,每次都要创建子进程,频繁操作成本很高

   b. 保存后的二进制文件,存在rdb文件版本兼容问题 

 

三,AOF

1.AOF概述

针对RDB不适合实时持久化,redis提供了AOF持久化方式来解决

2.AOF操作流程

i.修改redis.conf配置文件,开启AOF,: appendonly yes (默认为no)

(aof默认生成文件名:appendonly.aof)

ii. 客户端做set hset 都会被强制记录到 appendonly.aof,实时同步

iii. 需要备份数据时,dir目录下找到备份文件copy一下

iv. 需要恢复备份数据重启服务器之前将备份aof文件放到redis.conf同级目录即可自动恢复。

3. AOF原理

 

a. 所有的写入命令(set hset)会append追加到aof_buf缓冲区中

b. AOF缓冲区向硬盘做sync同步 

c. 随着AOF文件越来越大,需定期对AOF文件rewrite重写,达到压缩

d. 当redis服务重启,可load加载AOF文件进行恢复

 

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

a,当AOF和RDB文件同时存在时,优先加载

b,若关闭了AOF,加载RDB文件

c,加载AOF/RDB成功,redis重启成功

d,AOF/RDB存在错误,redis启动失败并打印错误信息

 

4. AOF配置详解

appendonlyyes/no 是否启用AOF
appendfsyncalways  

每收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用

everysec

每秒强制写入磁盘一次,性能和持久化方面做了折中,推荐

no   

完全依赖os,性能最好,持久化没保证(操作系统自身的同步)

no-appendfsync-on-rewriteyes/no 正在导出rdb快照的过程中,是否停止同步aof
  
auto-aof-rewrite-percentage100   aof文件大小比起上次重写时的大小,增长率100%时,重写
auto-aof-rewrite-min-size64mb  aof文件,至少超过64M时,重写
  

 

 

 

 

http://bbs.dongnaoedu.com/?thread-503.htm

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值