Redis的持久化之AOF方式
概述
AOF方式:将以日志,记录每一个操作
优势:安全性相对RDB方式高很多
劣势:效率相对RDB方式低很多
查看和修改配置
找到并修改redis.conf
appendonly no默认关闭aof方式,我们修改成 yes 就开启
下面那个是默认的aof文件名
接下来找到
这里是三种同步策略:
always是只要发生修改,立即同步(推荐使用,安全性最高)
everysec是每秒同步一次
no是不同步
我们修改成always
保存并退出
备份数据
启动Redis服务,增加几个key,退出客户端,查看当前目录,发现多了一个备份文件appendonly.aof
[root@localhost redis]# ./bin/redis-server ./redis.conf
[root@localhost redis]# ps -ef | grep -i redis
root 1754 1 0 02:04 ? 00:00:00 ./bin/redis-server *:6379
root 1758 1498 0 02:04 pts/0 00:00:00 grep –color=auto -i redis
[root@localhost redis]# ./bin/redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> set b 2
OK
127.0.0.1:6379> keys *
1)”a”
2)”b”
127.0.0.1:6379> exit
[root@localhost redis]# ps -ef | grep -i redis
root 1754 1 0 02:04 ? 00:00:00 ./bin/redis-server *:6379
root 1761 1498 0 02:05 pts/0 00:00:00 grep –color=auto -i redis
[root@localhost redis]# ll
总用量 52
-rw-r–r–. 1 root root 77 6月 22 02:04 appendonly.aof
drwxr-xr-x. 2 root root 134 6月 20 00:37 bin
-rw-r–r–. 1 root root 46698 6月 22 02:02 redis.conf
退出Redis服务,用shutdown nosave命令关闭Redis就不会创建dump.rdb备份文件
[root@localhost redis]# ./bin/redis-cli
127.0.0.1:6379> keys *
1)”a”
2)”b”
127.0.0.1:6379> shutdown nosave
not connected> exit
[root@localhost redis]# ll
总用量 52
-rw-r–r–. 1 root root 77 6月 22 02:04 appendonly.aof
drwxr-xr-x. 2 root root 134 6月 20 00:37 bin
-rw-r–r–. 1 root root 46698 6月 22 02:02 redis.conf
恢复数据
将appendonly.aof剪切到其它目录,重启Redis服务,查看所有key,发现没有数据
[root@localhost redis]# ./bin/redis-server ./redis.conf
[root@localhost redis]# ./bin/redis-cli
127.0.0.1:6379> keys *
(empty list or set)
退出Redis服务(shutdown nosave命令),将剪切到其它目录的appendonly.aof重新复制到备份文件指定目录/usr/local/redis,重启Redis服务,查看所有key,发现有数据
127.0.0.1:6379> shutdown nosave
not connected> exit
[root@localhost redis]# cp /home/data/appendonly.aof /usr/local/redis/
cp:是否覆盖”/usr/local/redis/appendonly.aof”? y
[root@localhost redis]# ./bin/redis-server ./redis.conf
[root@localhost redis]# ./bin/redis-cli
127.0.0.1:6379> keys *
1)”b”
2)”a”
总结
我们平时可以把aof文件定期备份,然后需要的时候拷贝到redis下,重启即可