Redis持久化

Redis 是支持 RDB 和 AOF 两种持久化的机制,持久化的功能可以有效的避免当进程崩溃。退出时造成的数据损失。当进程退出后,我们下次启动的时候,利用之前持久化的文件马上就可以恢复原有的数据。我们先大致理解一下官方的介绍:
RDB 持久化的方式,是在指定条件下,能对数据库进行快照存储。比如手动触发或者自动按照时间间隔。
AOF 持久化是以记录命令为条件来完成的。

 

RDB和AOF如何选择
  (1).不要仅仅使用RDB,因为那样会导致你丢失很多数据
  (2).也不要仅仅使用AOF,因为那样有两个问题,第一,你通过AOF做冷备,没有RDB做冷备,来的恢复速度更快; 第二,RDB每次简单粗暴生成数据快照,更加健壮,可以避免AOF这种复杂的备份和恢复机制的bug
  (3).综合使用AOF和RDB两种持久化机制,用AOF来保证数据不丢失,作为数据恢复的第一选择; 用RDB来做不同程度的冷备,在AOF文件都丢失或损坏不可用的时候,还可以使用RDB来进行快速的数据恢复

 

RDB持久化配置:

## 前面常用配置提到过,忘记的可以出门左转看一下
## 分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。
save 900 1
save 300 10
save 60 10000
## 指定本地数据库文件名,一般采用默认的 dump.rdb
dbfilename dump.rdb
## 指定本地数据库存放目录
dir /soft/redis/data/
## 开启数据压缩(默认开启,建议开启)
rdbcompression yes

改配置是默认的,无需进行配置,我们需要新增的是增加AOF持久化

配置AOF持久化
## 开启AOF,默认不开启
appendonly yes
## 指定本地数据库文件名
appendfilename "appendonly.aof"
## 指定更新日志条件
# appendfsync always    ## 同步持久化,每次发生数据变化会立刻写入到磁盘中。性能较差当数据完整性比较好(慢,安全)
appendfsync everysec   ## 出厂默认推荐,每秒异步记录一次(默认值)
# appendfsync no   ## 不同步

## 配置重写触发机制(当AOF文件大小是上次rewrite后大小的一倍且文件大于64M时触发)
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
posted @ 2020-04-09 14:31  程序员那些书  阅读(127)  评论(0编辑  收藏  举报