停止服务时 Redis 数据丢失

Redis data lost when stopping service

我有一个使用 Redis 进行数据管理的 python (Flask) 平台。 https://github.com/murphyt7/projectHandover/blob/master/app.py

问题是,当我重新启动 app.py 时,所有信息都丢失了。听说之前的运行 BGSAVE 命令可以解决问题,但问题是服务重启是不可预测的。

有没有办法以持久的方式自动保存数据?

除非你强行杀死 redis,否则你的数据不应该消失。然而,这...

第 27 行:

postRedisDB.flushall()

FLUSHALL:

Delete all the keys of all the existing databases, not just the currently selected one. This command never fails.

通过代码

不要在执行应用程序之前或之后刷新数据库内容。

postRedisDB.flushall()

通过 Redis

此外,将您的设置配置为通过 RDB 或 AOF(或两者)持久保存,这样您就可以确保即使在生产模式下也不会丢失数据

RDB: Redis Database (Snapshot)
AOF: Append Only File (Operation Log)

有关 Redis 持久性的更多信息,请单击此处:http://redis.io/topics/persistence