Redis 之 通过幸运飞艇程序制作RDB文件进行恢复

原理
redis持久化实现有两个方式幸运飞艇程序制作q-1152880099RDB(Redis DataBase 默认开启)和AOF(Append Only File 默认关闭)都是通过来保存文件在磁盘中,在redis服务在启动时,在将数据读取到内存中。所以我们在重启开启服务时候,发现之前的数据还存在。

实现机制
rdb方式是通过在是定时间内将内存中的数据集快照(Snapshot)写入磁盘;在数据恢复时,再将快照中的信息读取到内存中。

优缺点
优势:适合大规模的数据恢复,对数据的完整性和一致性要求不高;
劣势:在一定的时间间隔内做备份,会丢失一部分数据,因为一般会丢失最后一次的保存记录,可以通过lastsave获取最后一次快照的时间查看。

查看最后一次写入磁盘的时间的命令:

10.3.152.78:6379> LASTSAVE
(integer) 1563805120       #Unix时间戳
备注:当我们同时开启两钟持久化方式,redis重启时候会优先载入aof文件来恢复数据,因为在一般情况写aof存储的文件数据比rdb形式存储的文件更加的完整。

恢复模拟
1、分别把两台redis服务器的redis服务停止。
2、把需要还原的rdb文件,复制到另外一台服务器上,查看当前存放位置路径

10.3.152.78:6379> config get dir
1) "dir"
2) "/var/lib/redis"         #rdb文件存放路径,并保证没有aof文件存在,否则默认优先加载此文件
10.3.152.78:6379>
3、设置相应的权限与修改相同的文件(保证与当前的rdb文件名和权限一致,覆盖)
4、启动redis服务
5、用info命令查看,当前的数据数量是否与相符

猜你喜欢

转载自www.cnblogs.com/wowotoubbs/p/11230783.html
今日推荐