Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复
rdb:记录的是二进制文件
aof:记录的是执行语句
一,创建测试数据
[root@izj6c3njvldcpf6rgj4srvz redis]# ./redis-cli -p 9100
127.0.0.1:9100> keys *
1) "b"
2) "c"
3) "d"
4) "a"
5) "list"
127.0.0.1:9100> save #生成rdb文件
二,获取rdb文件存放位置
127.0.0.1:9100> CONFIG GET dir
1) "dir"
2) "/var/lib/redis"
可知rbd文件存放在/var/lib/redis里
三,找到文件地址并且复制一份
cd /var/lib/redis
[root@izj6c3njvldcpf6rgj4srvz redis]# ls
dump.rdb #这个就是刚刚生成的一个二进制文件
cp dump.rdb dump.rdb1
[root@izj6c3njvldcpf6rgj4srvz redis]# ls
dump.rdb dump.rdb1
四,清空原先所有的key值:
127.0.0.1:9100> keys *
1) "b"
2) "c"
3) "d"
4) "a"
5) "list"
127.0.0.1:9100> FLUSHALL
OK
127.0.0.1:9100> keys *
(empty list or set)
五,关闭示例,并且将原先的dump.rdb1替换掉dump.rdb
[root@izj6c3njvldcpf6rgj4srvz redis]# ./redis-cli -p 9100 shutdown
[3]+ Done ./redis-server ./redis-master.conf
[root@izj6c3njvldcpf6rgj4srvz redis]# ./redis-server ./redis-master.conf &
[3] 11717
[root@izj6c3njvldcpf6rgj4srvz redis]# ./redis-cli -p 9100
127.0.0.1:9100> keys *
1) "list"
2) "b"
3) "a"
4) "d"
5) "c"
127.0.0.1:9100>
这时候会发现刚刚清空的key值全部又回来了~~~~
网友评论