redis渐入佳境(09) 数据持久化
redis是一个内存数据库,但是也有持久化的功能。redis持久化主要有两种方式,一个是数据库快照,一个aof方式。RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。
[*]AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对 AOF 文件进行重写(rewrite),使得 AOF 文件的体积不会超出保存数据集状态所需的实际大小。
[*]RDB方式就是快照方式:
[*]配置方式如下:
[*]在redis.conf文件中有如下配置:
[*]
# Note: you can disable saving at all commenting all the "save" lines.
[*]900s内有1个key更新就执行一次快照
[*]
save 900 1
[*]300s内有10个key更新就执行一次快照
[*]
save 300 10
[*]60s内有10000个key更新就执行一次快照
[*]
save 60 10000
[*]这样数据库就会按照策略进行快照备份,rdb的方式的优点是特别好恢复数据且能保证redis的高性能运行。但是有备份间隙,容易丢数据。
[*]aof就是记录操作日志的方式:
[*]具体配置如下:
[*]在redis.conf文件中有如下配置:
[*]
# log file in background when it gets too b
[*]
appendonly yes #设置成yes即开启了aof方式。
[*] aof还有如下配置:
[*]
#每一个写命令都会存入到aof文件中,最能保证数据的安全,但是效率较低
# appendfsync always
[*]
#每一秒都会记录一下写命令,效率和安全做了较好的折中
appendfsync everysec
[*]
#完全交给操作系统,不靠谱
# appendfsync no
页:
[1]