Redis数据备份与恢复

127.0.0.1:6379> save                  //该命令将在redis安装目录中创建dump.rdb文件
OK

 

数据恢复,如果需要恢复数据,只需要将备份文件(dump.rdb)移动到redis安装目录并启动服务即可。获取redis目录可以使用config命令

127.0.0.1:6379> config get dir
1) "dir"
2) "/software/redis-3.2.3/src"

如果只配置RDB,启动时只加载dump文件恢复数据

如果只配置AOF,重启时加载AOF文件恢复数据

如果同时 配置了RDB和AOF,启动是只加载AOF文件恢复数据

 

使用RDB方式恢复数据库,不启用AOF

127.0.0.1:6379> config get appendonly
1) "appendonly"
2) "no"
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set name allen123
OK
127.0.0.1:6379> set sex male
OK
127.0.0.1:6379> set phone 13718097805
OK
127.0.0.1:6379> set age 33
OK
127.0.0.1:6379> keys *
1) "sex"
2) "phone"
3) "name"
4) "age"
127.0.0.1:6379> save
OK
 
[root@mysql1 src]# ll dump*
-rw-r--r-- 1 root root 132 Aug 11 11:09 dump.rdb
[root@mysql1 src]# cp dump.rdb dump.rdb.bak
 
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> shutdown
not connected> exit
 
[root@mysql1 src]# ll dump*
-rw-r--r-- 1 root root  76 Aug 11 11:09 dump.rdb
-rw-r--r-- 1 root root 132 Aug 11 11:09 dump.rdb.bak
 
[root@mysql1 src]# rm -rf dump.rdb
[root@mysql1 src]# ll dump*
-rw-r--r-- 1 root root 132 Aug 11 11:09 dump.rdb.bak
[root@mysql1 src]# mv dump.rdb.bak dump.rdb
 
[root@mysql1 src]# ./redis-server
[root@mysql1 src]# ./redis-cli
127.0.0.1:6379> keys *
1) "phone"
2) "age"
3) "sex"
4) "name"

 

使用AOF方式恢复数据库,不启用RDB

编辑配置文件,修改参数

save ""
appendonly yes
[root@mysql1 src]# ./redis-cli
127.0.0.1:6379> config get save
1) "save"
2) ""
127.0.0.1:6379> config get appendonly
1) "appendonly"
2) "yes"
 
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set name allen123
OK
127.0.0.1:6379> set sex male
OK
127.0.0.1:6379> set phone 13718097805
OK
127.0.0.1:6379> set age 33
OK
127.0.0.1:6379> keys *
1) "sex"
2) "name"
3) "phone"
4) "age"
 
[root@mysql1 /]# ll appendonly.aof
-rw-r--r-- 1 root root 164 Dec  1 13:41 appendonly.aof
[root@mysql1 /]# cp appendonly.aof appendonly.aof.bak
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> shutdown
not connected> exit
 
[root@mysql1 /]# ll appendonly.aof*
-rw-r--r-- 1 root root 182 Dec  1 13:58 appendonly.aof
-rw-r--r-- 1 root root 164 Dec  1 13:57 appendonly.aof.bak
 
[root@mysql1 /]# rm -rf appendonly.aof
[root@mysql1 /]# mv appendonly.aof.bak appendonly.aof
 
[root@mysql1 src]# ./redis-server
[root@mysql1 src]# ./redis-cli
127.0.0.1:6379> keys *
1) "phone"
2) "age"
3) "sex"
4) "name"