save用于数据备份
save命令执行一个同步保存操作,将当前Redis实例中的所有数据集,以RDB文件的形式保存在磁盘。
实例: 在Redis命令行客户端,直接输入save命令,执行成功,会返回一个OK提示。
127.0.0.1:2>save
"OK"
save命令如果在备份一个大的数据集文件时,它是同步进行的。此时如果文件特别大,会导致服务器停止几百毫秒甚至一秒中,所以线上慎重使用,请继续查看后续bgsave用于数据备份。
bgsave用于数据备份
bgsave命令执行之后会在后台执行,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。
实例: 在Redis命令行客户端,直接输入bgsave命令,执行后,会返回一个"Background saving started"提示。
127.0.0.1:2>bgsave
"Background saving started"
数据恢复
如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 config命令
127.0.0.1:2>config get dir
1) "dir"
2) "/root/redis-2.8.19"
以上命令 config get dir输出的 redis 安装目录为 /root/redis-2.8.19
想要获取到save或者bgsave命令之后生成的dump.rdb文件到底在哪里,也可以通过config get dir命令,然后就在提示的目录之下。