美文网首页
Redis持久化

Redis持久化

作者: 北小秋 | 来源:发表于2020-05-07 22:05 被阅读0次

使用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  //停止服务

[root@redisA ~]# rm –rf  /var/lib/redis/6379/* //清空数据库目录

[root@redisA ~]# /etc/init.d/redis_6379 start //启动服务

[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 v10 k1

OK

192.168.4.51:6351> keys *

1) "v2"

...

10) "v3"

192.168.4.51:6351>exit

[root@redisA ~]# ls /var/lib/redis/6379  //此时(120秒后),查看数据库目录下有dump.rdb文件

dump.rdb

备份数据

[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/ //传递备份文件给目标主机

删除数据 (56主机模拟误删除数据)

[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 ~]#

恢复数据(56主机使用备份文件恢复数据)

[root@redis56 ~]# /etc/init.d/redis_6379 stop  //停止服务

[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  //    启动服务

[root@redis56 ~]# redis-cli -h 192.168.4.56 –p 6356 //访问服务

192.168.4.56:6356> keys *  //查看数据

1) "v7"

...

10) "v10"

使用AOF文件恢复数据

步骤一:使用AOF文件恢复数据

1)修改配置文件

[root@redisA ~]# redis-cli -h 192.168.4.51 –p 6351 -a 123456 //连接服务

192.168.4.51:6351>config  set  appendonly yes    //启用aof,默认no

192.168.4.51:6351> config  rewrite //写进配置文件

192.168.4.51:6351> save

192.168.4.51:6351> exit

[root@redisA ~]# ls  /var/lib/redis/6379/  //会出现appendonly.aof文件

appendonly.aof  dump.rdb 

2)备份AOF文件

[root@redisA ~]# cd /var/lib/redis/6379/

[root@redisA 6379]# cp appendonly.aof /tmp/appendonly.aof

[root@redisA 6379]# scp /tmp/appendonly.aof  root@192.168.4.57:/root/  //传递备份文件给目标主机

3)删除数据(在57主机 默认数据误删除)

[root@redis57 ~]# redis-cli -h 192.168.4.57 -p 6357  //连接服务

192.168.4.57:6357> flushall  //清除数据

OK

192.168.4.57:6357> keys * //查看数据

(empty list or set)

192.168.4.57:6357> exit

4) 使用AOF文件恢复数据

[root@redis57 ~]# vim +673 /etc/redis/6379.conf

appendonly  yes  //启用AOF

:wq

[root@redis57 ~]# /etc/init.d/redis_6379 stop  //停止服务

[root@redis57 ~]# rm  -rf  /var/lib/redis/6379/* //删除没有数据的文件

[root@redis57 ~]# cp  /root/appendolny.aof /var/lib/redis/6379/  //拷贝文件

[root@redis57 ~]# /etc/init.d/redis_6379  start  //启动服务

[root@redis57 ~]# redis-cli -h 192.168.4.57 -p 6357 //连接服务

192.168.4.57:6357> keys *  //查看数据

1) "v9"

2) "v5"

3) "v8"

4) "v2"

5) "v1"

6) "v4"

7) "v10"

8) "v6"

9) "v7"

10) "v3"

相关文章

网友评论

      本文标题:Redis持久化

      本文链接:https://www.haomeiwen.com/subject/aoxtnhtx.html