04-用户执行SAVE或BGSAVE命令
7.1.2 用户执行 SAVE 或 BGSAVE 命令
除了让Redis自动进行快照外,当进行服务重启、手动迁移以及备份时我们也会需要手动执行快照操作。Redis提供了两个命令来完成这一任务。
1.SAVE命令
当执行SAVE命令时,Redis同步地进行快照操作,在快照执行的过程中会阻塞所有来自客户端的请求。当数据库中的数据比较多时,这一过程会导致Redis较长时间不响应,所以要尽量避免在生产环境中使用这一命令。
2.BGSAVE命令
需要手动执行快照时推荐使用 BGSAVE 命令。 BGSAVE 命令可以在后台异步地进行快照操作,快照的同时服务器还可以继续响应来自客户端的请求。执行 BGSAVE 后Redis会立即返回 OK 表示开始执行快照操作,如果想知道快照是否完成,可以通过 LASTSAVE 命令获取最近一次成功执行快照的时间,返回结果是一个Unix时间戳,如:
redis> LASTSAVE (integer) 1423537869 异步快照的具体过程可以参考7.1.5节,执行自动快照时Redis采用的策略即是异步快照。