Redis中持久化配置的实现方式(redis配置持久模式)

Redis既可以作为缓存服务,也可以作为数据存储服务,经常需要通过持久化配置来实现Redis在崩溃或者重启时数据不丢失,持久化配置主要分为RDB快照和AOF日志2种方式。

#### RDB快照:

RDB实现机制通过定时的将Redis的数据快照保存到磁盘上,当Redis重启的时候,可以从最后保存的快照中恢复数据,RDB持久化配置主要由2个参数控制:

* save:规定在多长时间内,有多少次更改操作,Redis就会自动保存数据库到硬盘,如果不设置任何数据,则save没有效果;

* rdbcompression:设置是否压缩RDB文件,默认为yes,是压缩;

* rdbchecksum:设置是否检查rdb文件的完整性,默认为yes,建议开启。

示例代码:

# 示例代码
save 900 1
save 300 10
save 60 10000

rdbcompression yes
rdbchecksum yes

#### AOF日志:

AOF日志记录Redis执行的每一条写操作命令,当 Redis重启时,会根据日志文件重放执行操作,将数据会重新生成,默认情况下,AOF持久化会比RDB持久化慢一些,因为其需要写入并重放大量的日志信息,但它比RDB持久化更安全稳定,AOF的设置均为可选参数:

* appendonly:设置是否开启AOF日志,默认为no;

* appendfsync:设置每次更新操作都进行日志同步,有三种同步方式:no不进行日志同步,always每次更新操作都同步,everysec每秒同步一次;

* no-appendfsync-on-rewrite:当AOF文件过大时,可以关闭跳过AOF文件重写的日志同步过程,默认为no,一般不建议更改;

* auto-aof-rewrite-percentage:当AOF文件超过指定比例时,会发起AOF文件重写,默认为100;

* auto-aof-rewrite-min-size:当AOF文件超过指定尺寸时,会发起AOF文件重写,默认为64mb。

示例代码:

# 示例代码
appendfsync everysec
no-appendfsync-on-rewrite yes
auto-aof-rewrite-percentag 100
auto-aof-rewrite-min-size 64mb

Redis通过RDB和AOF日志2种持久化机制,可以实现Redis在重启时数据不丢失,通过设置不同的参数可以实现不同的持久化特性,以适用不同的使用场景。


数据运维技术 » Redis中持久化配置的实现方式(redis配置持久模式)