Redis持久化机制

Redis支持两种持久化方法:
1:snapshotting 快照方式(默认)
快照方式是默认的持久化方式,这种方式将内存中的数据已快照的方式写入到二进制文件中,默认的文件名为dump.rdb。
我们可以通过修改配置文件的方式配置Redis在N秒内如果超过M个key修改就自动做快照。

1
2
3
4
5
6
[root@localhost bin]# vi /usr/local/redis/etc/redis.conf

// 搜索save
save 900 1       // 900秒内超过1个key被修改,发起快照保存
save 300 10      // 300秒内超过10个key被修改,发起快照保存
save 60 10000    // 60秒内超过10000个key被修改,发起快照保存

2:append-only file aof方式
aof比快照方式有更好的持久化性,是由于aof时,Redis会将每一个收到的写命令通过write函数追加到文件中,当Redis重启时,会通过重新执行文件中保存的命令在内存中重建整个数据库的内容

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost bin]# vi /usr/local/redis/etc/redis.conf
// 启用aof持久化方式
appendonly yes
// aof文件名
appendfilename "appendonly.aof"

// 收到命令就立即写入磁盘,最慢,但是保证完全的持久化
# appendfsync always
// 每秒钟写入磁盘一次,性能和持久化方面比较折中
appendfsync everysec
// 完全依赖系统,性能最好,持久化没保证
# appendfsync no