mirror of https://github.com/dunwu/db-tutorial.git
📝 Writing docs.
parent
7cd337e4b9
commit
c15d2b61db
|
@ -11,6 +11,16 @@ tags:
|
|||
|
||||
# Redis 持久化
|
||||
|
||||
> Redis 支持持久化,即把数据存储到硬盘中。
|
||||
>
|
||||
> Redis 提供了两种持久化方式:
|
||||
>
|
||||
> **RDB 快照(snapshot)** - 将存在于某一时刻的所有数据都写入到硬盘中。
|
||||
>
|
||||
> **只追加文件(append-only file,AOF)** - 它会在执行写命令时,将 被执行的写命令复制到硬盘中。
|
||||
>
|
||||
> 这两种持久化方式既可以同时使用,也可以单独使用。
|
||||
|
||||
<!-- 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 创建一个子进程。
|
||||
|
|
Loading…
Reference in New Issue