redis快照--RDB持久化
RDB文件
redis是基于内存的数据库,redis所有的数据都是保存到内存中的,当redis进程退出,内存中所有数据都会全部丢失。
为了解决这个问题,redis提供了rdb持久化功能,rdb持久化可以将内存中的数据保存到磁盘中,避免数据丢失!
通过rdb文件,可以还原rdb文件生成时的数据库状态!
RDB文件创建
通过bgsave和save命令:
bgsave save都是redis备份命令,执行后都会在本地备份redis数据生成dump.rdb文件。
区别如下:
save 命令是阻塞式的,它会阻塞redis服务进程,服务器不能处理任何命令请求,直到rdb文件创建完毕。
bgsave命令是非阻塞式的,bgsave命令会派生出一个子进程,然后子进程负责备份创建rdb文件,服务器进程(父进程)继续服务处理命令请求。
服务器周期性自动生成rdb文件
通过在命令行手动输入命令备份生成rdb文件外,还可以通过配置文件配置save选项,让server每隔一段时间自动执行bgsave命令:
bgsave和save的区别
bgsave save都是redis备份命令,执行后都会在本地备份redis数据生成dump.rdb文件。
区别如下:
save 命令是阻塞式的,它会阻塞redis服务进程,服务器不能处理任何命令请求,直到rdb文件创建完毕。
bgsave命令是非阻塞式的,bgsave命令会派生出一个子进程,然后子进程负责备份创建rdb文件,服务器进程(父进程)继续服务处理命令请求。
分别执行一次bgsave和save redis log如下:
参考资料:
https://blog.****.net/sinat_36333342/article/details/71429810