📝 Writing docs.

pull/1/head
Zhang Peng 2018-06-22 17:39:24 +08:00
parent 7cd337e4b9
commit c15d2b61db
1 changed files with 27 additions and 0 deletions

View File

@ -11,6 +11,16 @@ tags:
# Redis 持久化
> Redis 支持持久化,即把数据存储到硬盘中。
>
> Redis 提供了两种持久化方式:
>
> **RDB 快照snapshot** - 将存在于某一时刻的所有数据都写入到硬盘中。
>
> **只追加文件append-only fileAOF** - 它会在执行写命令时,将 被执行的写命令复制到硬盘中。
>
> 这两种持久化方式既可以同时使用,也可以单独使用。
<!-- TOC depthFrom:2 depthTo:3 -->
- [RDB](#rdb)
@ -38,6 +48,15 @@ Redis 提供了两种持久方式RDB 和 AOF。你可以同时开启两种持
RDB 持久化方式能够在指定的时间间隔能对整个数据进行快照存储。
RDB 配置:
```
save 60 1000
stop-writes-on-bgsave-error no
rdbcompression yes
dbfilename dump.rdb
```
### RDB 的原理
在默认情况下Redis 将数据库快照保存在名字为 dump.rdb 的二进制文件中。你可以对 Redis 进行设置, 让它在“N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次数据集。你也可以通过调用 SAVE 或者 BGSAVE手动让 Redis 进行数据集保存操作。这种持久化方式被称为快照。
@ -76,6 +95,14 @@ AOF 持久化方式记录每次对服务器执行的写操作。当服务器重
AOF 命令以 redis 协议追加保存每次写的操作到文件末尾。Redis 还能对 AOF 文件进行后台重写。使得 AOF 文件的体积不至于过大。
```
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
```
### AOF 的原理
- Redis 创建一个子进程。