-
概述
RDB持久化就是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化分为自动触发和手动触发 -
手动触发
a.save命令
阻塞当前redis服务器,直到RDB过程完成为止,当redis内存中有很多数据需要RDB时,RDB阻塞时间会比较长
说明:save命令执行完成后会将内存中的数据持久化到dump.rdb文件中,下次重启服务会还原到redis内存中;但是,save命令是阻塞的,也就是说在持久化这段时间里,redis是阻塞的,也就是不能处理其他命令(redis单线程架构的原因–同步处理);这种方式可能会丢失部分数据,比如突然断电,那么最近一次RDB到现在这段时间的数据丢失。采用shutdown方式中断redis,会自动触发执行save,这种方式退出比较安全
b.bgsave命令
redis进程执行fork操作创建子进程,RDB持久化由子进程负责;bgsave方式可以解决save由于数据大阻塞的问题,但是在fork操作创建子进程这段时间,还是会阻塞的(可以忽略)
(十一)redis常用命令之RDB持久化
最新推荐文章于 2022-10-10 14:27:32 发布