使用RDB文件恢复数据
一、使用RDB文件恢复数据
RDB介绍:
Redis数据库文件,全称Reids DataBase
数据持久化方式之一
在指定时间间隔内,将内存中的数据集快照写入硬盘
术语叫Snapshot快照
恢复时,将快照文件直接读到内存里
相关配置参数
文件名
dbfilename “dump.rdb” 文件名
数据从内存保存到硬盘的频率
save 900 1 900秒内且有1个key改变
save 300 10 300秒内且有10个key改变
save 60 10000 60秒内且有10000个key改变
[root@redisA ~]# vim /etc/redis/6379.conf
dbfilename dump.rdb
save 900 1
#save 300 10 //注释原有设置
save 120 10 //时间修改为 120秒
save 60 10000
:wq
[root@redisA ~]# /etc/init.d/redis_6379 stop //停止服务
Stopping ...
Waiting for Redis to shutdown ...
Redis stopped
[root@redisA ~]#
[root@redisA ~]# rm –rf /var/lib/redis/6379/* //清空数据库目录
[root@redisA ~]# /etc/init.d/redis_6379 start //启动服务
Starting Redis server...
[root@redisA ~]#
[root@redisA ~]# ls /var/lib/redis/6379 //此时,查看数据库目录下没有dump.rdb文件
[root@redisA ~]#
[root@redisA ~]# redis-cli -h 192.168.4.51 -p 6351 -a 123456 //连接服务,在200秒内存储10个变量,就会自动在数据库目录下创建dump.rdb 文件
192.168.4.51:6351> set v1 k1
OK
192.168.4.51:6351> set v2 k1
OK
192.168.4.51:6351> set v3 k1
OK
192.168.4.51:6351> set v4 k1
OK
192.168.4.51:6351> set v45 k1
OK
192.168.4.51:6351> set v46 k1
OK
192.168.4.51:6351> set v7 k1
OK
192.168.4.51:6351> set v8 k1
OK
192.168.4.51:6351> set v9 k1
OK
192.168.4.51:6351> set v10 k1
OK
192.168.4.51:6351> keys *
1) "v2"
2) "v9"
3) "v10"
4) "v45"
5) "v4"
6) "v1"
7) "v46"
8) "v8"
9) "v7"
10) "v3"
192.168.4.51:6351>exit
[root@redisA ~]# ls /var/lib/redis/6379 //此时,查看数据库目录下有dump.rdb文件
dump.rdb
[root@redisA ~]#
备份数据
[root@redisA ~]# cd /var/lib/redis/6379/
[root@redisA 6379]# ls
dump.rdb
[root@redisA 6379]# cp dump.rdb /tmp/dump.rdb //备份dump.rdb文件
[root@redisA 6379]# scp /tmp/dump.rdb root@192.168.4.56:/root/ //传递备份文件给目标主机
删除数据
[root@redis56 ~]# redis-cli -h 192.168.4.56 –p 6356 //连接服务
192.168.4.56:6356> flushall //清空数据
OK
192.168.4.51:6379> keys * //已经没有数据
(empty list or set)
192.168.4.56:6356> exit
恢复数据(使用备份文件恢复数据)
[root@redis56 ~]# /etc/init.d/redis_6379 stop //停止服务
Stopping ...
Waiting for Redis to shutdown ...
Redis stopped
[root@redis56 ~]#
[root@redis56 ~]# rm -rf /var/lib/redis/6379/* //清空数据库目录
[root@redis56 ~]# cp /tmp/dump.rdb /var/lib/redis/6379/ //拷贝备份文件到数据库目录下
[root@redis56 ~]# /etc/init.d/redis_6379 start // 启动服务
Starting Redis server...
[root@redis56 ~]# redis-cli -h 192.168.4.56 –p 6356 //访问服务
192.168.4.56:6356> keys * //查看数据
1) "v7"
2) "v46"
3) "v45"
4) "v8"
5) "v4"
6) "v2"
7) "v1"
8) "v3"
9) "v9"
10) "v10"
192.168.4.56:6356>