持久化:把数据存储于断电后不丢失的设备中,通常是硬盘
rdb的工作原理:
每隔N分钟或N次写操作后,从内存dump数据形成rdb文件,压缩,放在备份目录 (红色部分可以通过参数来配置)
rdb快照相关参数:
save 900 1 #刷新快照到硬盘中,必须满足两者要求参会触发,即900秒之后至少1个关键词发生变化 (3)
save 300 10 # 必须是300秒之后至少10个关键词发生变化 (2)
save 60 10000 # 必须是60秒之后至少10000个关键词发生变化,(1)
(这3个选项都屏蔽,则rdb失效)
stop-writes-on-bgsave-error yes #后来存储错误停止写
rdbcompression yes #使用LZF压缩rdb文件
rdbchecksum yes #c存储和加载rdb文件时校验
dbfilename dump.rdb # 设置rdb文件名
dir ./ # 设置工作目录,rdb文件会写入改目录
rdb 的缺陷
在2个保存点之间,断电,将会丢失1-N分钟的数据
出于对持久化的更精细要求,redis添加了aof方式 append only file
工作原理:
有一个redis-server进程 ,有一个rdbdump进程,在工作中达到了触发条件 ,调用rdbdump进程。由redis-server 来监视触发条件。恢复速度很快。会丢失几分钟内的数据