Redis持久化存储策略机制(RDB、AOF)

目录

1、Redis持久化介绍

1.1 持久化机制概述

1.2 持久化机制意义

1.3 Redis 提供了不同级别的持久化方式

2、RDB持久化机制介绍

2.1 RDB是什么

2.2 Fork的作用

2.3 配置dump.rdb文件

2.4 触发机制(三种)

2.5 配置新的保存规则

2.6 手动将redis中的数据写入磁盘

2.7 从RDB文件中加载数据(恢复数据)

2.8 redis停止写RDB文件

2.9 高级配置

2.10 RDB优势

2.11 RDB的劣势

3、AOF持久化机制介绍

3.1 AOF是什么

3.2 AOF文件记录格式

3.3 设置Redis以AOF形式的持久化

3.4 修复appendonly.aof文件

3.5 配置AOF持久化策略

3.6 AOF重写

3.7 AOF优点

3.8 AOF缺点

4、RDB和AOF两种策略之间的选择

5、Redis 4.0 混合持久化


1、Redis持久化介绍

1.1 持久化机制概述

        Redis 是一款内存数据库,也就是说它把数据都存储在内存中,持久化就是把内存中的数据存储到电脑的磁盘上。

        由于Redis的数据都存放在内存中,如果没有配置持久化,Redis重启后数据就全丢失了,于是需要开启Redis的持久化功能,将数据保存到磁盘上,当Redis重启后,可以从磁盘中恢复数据。

        对于Redis而言,持久化机制是指把内存中的数据存为硬盘文件, 这样当Redis重启或服务器故障时能根据持久化后的硬盘文件恢复数据。

1.2 持久化机制意义

        redis持久化的意义,在于故障恢复。比如部署了一个redis,作为cache缓存,同时也可以保存一些比较重要的数据。

1.3 Redis 提供了不同级别的持久化方式

1. RDB(Redis DataBase): 持久化方式能够在指定的时间间隔能对你的数据进行快照存储。

2. AOF(Append Only File) :持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据。

2、RDB持久化机制介绍

2.1 RDB是什么

        RDB 是 Redis 持久化到磁盘上的数据文件的格式,重点内容默认的文件名是 dump.rdb。

        Redis 会在指定的时间间隔内将内存中的数据集快照写入磁盘,它恢复时是将快照文件直接读到内存里。

        Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。

        整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。

注意

  • 这种格式是经过压缩的二进制文件。 

简要概况:

  • RDB是一个非常紧凑的文件;
  • RDB在保存RDB文件时父进程唯一需要做的就是fork出一个子进程,接下来的工作全部由子进程来做,父进程不需要再做其他lO操作,所以RDB持久化方式可以最大化redis的性能;
  • 与AOF相比,在恢复大的数据集的时候,RDB方式会更快一些;
  • 数据丢失风险大;
  • RDB需要经常fork子进程来保存数据集到硬盘上,当数据集比较大的时候,fork的过程是非常耗时的,可能会导致Redis在一些毫秒级不能响应客户端请求。

2.2 Fork的作用

        fork的作用是复制一个与当前进程一样的进程,新进程的所有数据(变量、环境变量、程序计数器等)数值都和原进程一致,但是是一个全新的进程,并作为原进程的子进程。

2.3 配置dump.rdb文件

RDB保存的文件,在redis.conf中配置文件名称,默认为dump.rdb。

rdb文件的保存位置,也可以修改。默认在Redis启动时命令行所在的目录下。

rdb文件的保存路径,也可以修改。默认为Redis启动时命令行所在的目录下

2.4 触发机制(三种)

快照默认配置:

  • save 3600 1:表示3600秒内(一小时)如果至少有1个key的值变化,则保存。
  • save 300 100:表示300秒内(五分钟)如果至少有100个 key 的值变化,则保存。
  • save 60 10000:表示60秒内如果至少有 10000个key的值变化,则保存。

2.5 配置新的保存规则

        给redis.conf添加新的快照策略,30秒内如果有5次key的变化,则触发快照。配置修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值