Redis进阶7-持久化

一、定义:
持久化:将内存中的数据同步到硬盘,redis重启之后数据能恢复

二、两种方法
第一种:RDB:快照方式》。符合一定条件时,自动将内存所有数据生成一份快照并存在硬盘上。
条件有四个:1)根据配置规则进行自动快照;2)用户执行Save和BGsave命令。3)执行flushall命令;4)执行复制(replication)时。
第二种:AOF:每次执行命令后将命令本身记录下来。

使用场景:一般两者一起使用。

三、RDB四种条件介绍
条件一:根据配置规则进行自动快照。
安装目录中包含的样例中有三个条件:
save 900 1 #在900秒内有1个1个以上的键被更改则进行快照。
save 300 10
save 60 1000

条件二:Save和BGsave命令
执行Save命令时,会阻塞所有来自客户端的请求。数据较多的时候会导致redis长时间不响应。
BGsave,是后台异步操作,可以响应请求。
注:lastsave可以查询快照是否执行完成。

条件三、flushall
会清空数据库所有数据。只有自动快照条件不为空,都会进行一次快照操作。

条件四:执行复制时
当设置主从模式时。redis在复制初始化时进行自动快照。即使没有定义自动快照条件,并且没有手动执行过快照操作,也会生成RDB快照条件。

四、快照原理
默认快照文件存储在Redis当前进程的工作目录中的dump.rdb文件中。快照过程:

五 AOF 方式
默认Redis 没有开启这个方式。可以通过appendonly yes启用。
开启后每执行一条会更爱redis中的数据的命令,Redis会将该命令写入硬盘的AOF文件中。
在window下设置aof方法
1 复制redis.windows-service.conf为redis.conf。
2 修改redis.conf中的配置appendonly no为appendonly yes。
3 重启redis服务。关闭命令:在redis-cli.exe中输入shutdown关闭,启动命令: redis-server.exe --service-start 。启动后在redis按照的跟目录下能看到appendonly.aof文件。
4 在redis中调用set命令。

在appendonly.aof中对应如下设置

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值