本文内容为 http://redis.io/commands/save 的翻译、注解、例子扩充及其它修改。感谢 Redis 作者 Antirez 为开源社区作出的贡献,本文保证最新、最准、最全以表示对其的敬意。欢迎留言纠错、提示更新或支持。
SAVE

命令 SAVE 对当前数据库进行一次同步(Sychronous)保存操作,对当前 Redis 实例(Instance)中的所有数据生成某个时间点上(A point in time)的快照(Snapshot),以 RDB 格式保存到文件中。

The SAVE commands performs a synchronous save of the dataset producing a point in time snapshot of all the data inside the Redis instance, in the form of an RDB file.

在生产环境(Production environment)中,你基本上用不到该命令,因为它会阻塞所有其它客户的操作。所为替代,我们更常使用命令 BGSAVE。然而,在一些具体场景下,可能会阻止 Redis 生成一个后台保存操作子进程(比如 fork(2) 系统调用出问题),这个时候,SAVE 反而可以作为最好的可求助方法来对最新数据库生成一次 Dump

You almost never want to call SAVE in production environments where it will block all the other clients. Instead usually BGSAVE is used. However in case of issues preventing Redis to create the background saving child (for instance errors in the fork(2) system call), the SAVE command can be a good last resort to perform the dump of the latest dataset.