Redis 持久化有几种方式?

Redis 持久化有几种方式?

在 Redis 中,有两种主要的持久化方式,分别是快照(Snapshot)和追加文件(Append-Only File,AOF)。

1. 快照(Snapshot)持久化:

快照持久化通过将内存中的数据保存到磁盘上的一个二进制文件中,称为快照文件(dump.rdb)。这个过程是通过fork一个子进程,然后在子进程中将数据写入到一个新的文件中,最后替换旧的快照文件,以避免对主进程的阻塞。

配置示例:
# Redis 配置文件 redis.conf
save 900 1        # 900秒(15分钟)内至少1次修改
save 300 10       # 300秒(5分钟)内至少10次修改
save 60 10000     # 60秒内至少10000次修改

2. 追加文件(Append-Only File,AOF)持久化:

AOF 持久化记录了对 Redis 服务器执行的所有写操作,以追加的方式保存到一个文件中。当 Redis 重新启动时,可以通过重新执行这些写操作来还原数据。

配置示例:
# Redis 配置文件 redis.conf
appendonly yes              # 开启 AOF 持久化
appendfilename "appendonly.aof"  # AOF 文件名
AOF Rewrite:

Redis 还提供了 AOF Rewrite 机制,可以通过重写 AOF 文件来减小文件的体积。这个操作会创建一个新的 AOF 文件,包含了一段时间内的写操作,并最终替换原有的 AOF 文件。

下面是一个简单的配置文件,同时开启快照和 AOF 持久化:

# Redis 配置文件 redis.conf
save 900 1
save 300 10
save 60 10000
appendonly yes
appendfilename "appendonly.aof"

这样配置后,Redis 会在满足快照条件时生成快照文件,同时将写操作追加到 AOF 文件。你可以根据实际需求选择使用快照、AOF 持久化或两者结合使用。

你可能感兴趣的:(redis,git,github)