diff --git a/docs/redis/Redis持久化.md b/docs/redis/Redis持久化.md index c100edb..d10384d 100644 --- a/docs/redis/Redis持久化.md +++ b/docs/redis/Redis持久化.md @@ -11,6 +11,16 @@ tags: # Redis 持久化 +> Redis 支持持久化,即把数据存储到硬盘中。 +> +> Redis 提供了两种持久化方式: +> +> **RDB 快照(snapshot)** - 将存在于某一时刻的所有数据都写入到硬盘中。 +> +> **只追加文件(append-only file,AOF)** - 它会在执行写命令时,将 被执行的写命令复制到硬盘中。 +> +> 这两种持久化方式既可以同时使用,也可以单独使用。 + - [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 创建一个子进程。