小小又开始更文章了,今天的内容是redis持久化方式
Redis有两种持久化方式,分别为快照(RDB文件)以及追加式文件(AOF文件)
对于这两种持久化相关的知识点如下
默认文件路径会保存文件为 dump.rdb 文件,在redis目录下。
修改路径,修改配置文件redis.conf实现
# RDB文件名,默认为dump.rdb。
dbfilename dump.rdb
# 文件存放的目录,AOF文件同样存放在此目录下。默认为当前工作目录。
dir ./
可以修改配置的保存点
格式如下
save 60 1000
上面的含义是,如果redis每60秒,更改了1000次,那么就更新配置文件。
禁用格式如下
save ""
如果redis,生成快照失败,那么就会接受数据,此时会返回给用户,持久化失败,此时可以进行如下的配置,禁用掉这个功能。
stop-writes-on-bgsave-error yes
默认情况下Redis会采用LZF进行数据压缩,如果需要关闭,配置如下
rdbcompression yes
在RDB的末尾,会有一个CRC64的校验码在文件末尾,这样会保证文件的完整性,在保存的时候会失去性能,如果需要追求更高的性能,此时使用yes禁用掉,此时会把校验码改为e,加载文件的时候,看到e会直接跳过。
rdbcompression yes
使用save命令会在当前线程生成RDB快照文件。
使用BGSAVE命令会在后台生成快照文件。使用LASTSAVE命令可以查到操作是否成功
127.0.0.1:6379> BGSAVE
Background saving started
127.0.0.1:6379> LASTSAVE
(integer) 1433936394
快照并不可靠,使用追加的命令,进行添加AOF。
appendonly yes
# 文件存放目录,与RDB共用。默认为当前工作目录。
dir ./
# 默认文件名为appendonly.aof
appendfilename "appendonly.aof"
默认是每秒进行同步
# appendfsync always
appendfsync everysec
# appendfsync no
当AOF文件过大的时候,例如,当计数器超过1000的时候,会进行自动的新建文件进行重写。
工作原理如下
禁用命令如下
auto-aof-rewrite-percentage 0
如果AOF文件因为某些原因坏掉,通过如下的方式进行修复
此时文件依旧修复完成。
第一条命令,是启动AOF,即追加。
第二条命令是禁用BOF即快照。
建议备份如下
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。