一.Redis的持久化
本章节会比较多的讲到所有关于Redis持久化的配置,平时使用场景会非常的少,对初学者可能不是很友好,如果仅仅是如何使用的话可以直接跳到RDB和AOF使用,小标题我标了红色,直接跳过去看就可。
RDB默认开启,AOF默认关闭。具体如何搭配及策略选择可以根据业务需求灵活搭配。
1.Redis的持久化概念
2.Redis如何保保存数据
3.RDB
3.1.RDB概念及原理
3.2RDB的特点(这里的特点基本都是对照AOF的优缺点)
3.3.如何使用RDB
注意:Redis默认开启RDB,关闭的话注释掉即可
#save 900 1 # 900sec(15分钟)后,如果至少有一个键改变(就进行持久化)
#save 300 10 #在300秒(5分钟)后,如果至少10个键改变(就进行持久化)
#save 60 10000 #在60秒后,如果至少有10000个键被更改(就进行持久化)
4.AOF
4.1.AOF概念及原理
4.2.AOF的特点
4.3.如何使用AOF
4.3.1开启AOF
appendonly yes #AOF默认为no,不开启AOF,如果我们要开启的话修改为yes即可
4.3.2.日志文件输出名称及策略
appendfilename "appendonly.aof" #文件输出的文件名,默认为"appendonly.aof"
#同步的频率
appendfsync always #每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
appendfsync everysec #每秒同步一次(默认值,相对折中)
appendfsync no #等操作系统进行数据缓存同步到磁盘(快)
4.3.3.日志文件输出配置1
no-appendfsync-on-rewrite no #no为不开启(默认为no),yes为开启
4.3.4日志文件输出配置2
auto-aof-rewrite-percentage 100
#当输出的文件增长超过指定比例时,重写日志文件
#设置为 0 表示不自动重写AOF日志文件,设置为 100 时表示每次操作都会重写AOF日志文件(满足下面条件时)
#重写是为了确保数据完整的情况下,AOF文件所占的磁盘空间最少
auto-aof-rewrite-min-size 64mb
#当文件大于这个最小尺寸(64MB)时才会触发重写,否则文件太小重写也没有意义
4.3.5日志文件读取
aof-load-truncated yes #yes开启(默认yes),no关闭
5.数据备份与恢复
5.1.数据备份
save #执行该命令将在 redis 安装目录中创建dump.rdb文件。
5.2.数据恢复
参考:Redis persistence demystifiedhttp://oldblog.antirez.com/post/redis-persistence-demystified.html