Redis持久化主要有快照的方式(RDB)和文件追加方式(AOF)。
一、RDB
每次都进行全量备份
默认持久化配置
指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
Redis 默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
分别表示 900 秒(15 分钟)内有 1 个更改,300 秒(5 分钟)内有 10 个更改以及 60 秒内有 10000 个更改。
1.save: 阻塞线程--- 因为执行这个指令的线程就是redis里面唯一的那个执行指令的线程-
当你备份大量的数据的时候,如果耗时比较长,则当有其他客户端发送指令的时候,会卡住
//redis-cli
save
2.bgsave: 单独的线程,后台专门有一个线程去实现备份。
这个后台的就是专门来根据我们的配置文件里策略然后去备份数据文件
底层原理: 有一个定时器,就是不停的计算我们阈值。每一次bgsave之后,要把计数器清0===
优势:备份缓慢,但是重启加载数据性能比较快。。。
//redis-cli
bgsave
二、AOF
查看是否已开启
//redis-cli
config get appendonly
将弄改成yes
三、混合模式
redis..4X 版本之后,开开启混合模式
混合模式的文件--包含aof和rdb;
第一次配置的时候,aof打开(默认开启混合模式)或者配置文件中任意位置添加aof-use-rdb-preamble yes打开
aof-use-rdb-preamble no关闭混合模式