Redis备份恢复方式有两种,一种是快照恢复(RDB),一种是aof恢复。
①默认情况下60秒刷新到disk一次,Redis的数据集保存在叫dump.rdb一个二进制文件,这种策略被称为快照。
Windows下快照恢复方式(RDB)
1.启动redis
进入redis目录
启动命令行 redis-cli.exe
2.数据备份
redis 127.0.0.1:6379> SAVE
该命令将在 redis 备份目录中创建dump.rdb文件。
3.恢复数据
①获取备份目录
redis 127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/usr/local/redis/bin"
以上命令 CONFIG GET dir 输出的 redis 备份目录为 /usr/local/redis/bin。
2、停止redis服务
3、拷贝备份文件到 /usr/local/redis/bin目录下
4、重新启动redis服务
②快照易恢复,文件也小,但是如果遇到宕机等情况的时候快照的数据可能会不完整,也就是最后一次备份数据会丢失。此时可能需要启用另一种持久化方式AOF,在配置文件中打开[appendonly yes]。
③打开redis.conf配置文件,会看到里面有这几行
save 900 1 // 900秒内如果有超过1个key被修改则发起保存快照
save 300 10 // 300秒内如果有超过10个key被修改则发起保存快照
save 60 10000 // 60秒内如果有超过10000个key被修改则发起保存快照
AOF刷新日志到disk的规则:
appendfsync always #always 表示每次有写操作都进行同步,非常慢,非常安全。
appendfsync everysec #everysec表示对写操作进行累积,每秒同步一次.
官方的建议的everysec,安全,就是速度不够快,如果是机器出现问题可能会丢失1秒的数据。
关于更多AOF备份的问题,请点击这里:Redis学习——Redis持久化之AOF备份方式保存数据