Redis数据的持久化方式RDB/AOF

Redis数据持久化方式

Redis的持久化是什么?

由于Redis是一个内存数据库,当Redis重启了,或者电脑重启,Redis中的数据就会丢失。我们可以将Redis中数据持久化保存到硬盘文件中。Redis的持久化方式一共分为:RDB,AOF两种。。


一、RDB方式持久化

1、Redis的默认持久化化方式,Redis默认采用这种方式去备份。
2、备份方式:Redis每隔一段时间,就去检测Redis数据库中数据的变化,如果变化达到一定标准(这种标准可以通过我们设置配置文件而设置)(不是一个key改变相应次数而多个key改变的次数一共是3次),然后就会持久化Redis中当前全部数据(只要有key值在指定时间内达到改变次数,就会将Redis中所有key值都备份(没达到的也备份))。
3、关于rdb方式持久化,在redis数据库的配置文redis.windows.conf 中有设置。
第一步:用文本打开配置文件 redis.windows.conf找到 rdb的配置信息
在这里插入图片描述

save 900 1 :每900秒之内如果 redis中的key(即redis中的数据)发生一次改变,就自动保存
save 300 10 :每300秒之内,如果redis中的key发生10次改变,就自动保存
save 60 10000:每60秒之内,如果redis中的key发生10000次改变,就自动保存

为了更容易看到效果将信息改为:
save 900 1
save 300 10
save 10 3 :如果每隔10秒钟就查看一次 redis,如果redis中数据居上一次持久之后改变3次(不是一个key改变3次而多个key改变的次数一共是3次)就自动保存。
第二步:进入redis文件夹,开启redis服务并参照 redis的配置文件
在这里插入图片描述
注意:如果想让redis实现自动备份,必须在启动命令后加上配置文件(redis.windows.conf)
接着我们通过客户端,操作redis只要在10秒改变操作3秒就会自动保存
在这里插入图片描述
服务器端输出自动保存的日志信息
在这里插入图片描述
同时生成.rdb备份文件
在这里插入图片描述

第三步:关闭服务器和客户端,重新启动redis服务器,查看之前的数据依然存在
在这里插入图片描述

二、AOF方式持久化

AOF采用日志记录的方式,可以实时记录Redis的每一次操作,可以每一次操作都进行持久化备份。(如果每次都备份对Redis性能影响比较大,AOF方式备份默认是关闭的)
第一步:修改redis.windows.conf配置文件,打开AOF备份,同时选择备份方式
(1)在配置文件中找到如下部分:这表示默认情况下并不开启AOF备份
在这里插入图片描述
将appendonly 改为 yes 表示开启aof备份
(2)选择 AOF备份方式
在这里插入图片描述
appendfsync always :表示实时备份
appendfsync everysec :表示每一秒钟备份一次
appendfsync no :表示不进行备份
第二步:对redis数据库进行操作(以查看redis.windows.conf配置文件的方式打开)
在这里插入图片描述
第三步:查看是否产生.aof备份文件
在这里插入图片描述
保存信息的同时(一秒钟之内)就进行备份啦。。。

你可能会遇到的问题?由于内存小造成redis无法启动的问题

在这里插入图片描述
在redis.windows.conf配置文件的最后加上
maxmemory 268435456
maxheap 314572800

总结

RDB的优缺点:优点
节省磁盘空间、恢复速度快
缺点:如果数据量太庞大,还是比较消耗性能的,因为是按周期备份的,如果因为意外down掉,就会丢失最后一次快照的所有修改。
AOF的优缺点:优点
备份机制更加稳健,丢失数据概率更低
可读的日志文件,通过操作AOF可以处理误操作
缺点:比起RDB占用更多的磁盘空间、恢复速度比较慢、每次增删改都同步的话,有一定的性能压力存在个别BUG,造成不能恢复的可能

猜你喜欢

转载自blog.csdn.net/zhx__/article/details/119839042