Database Redis持久性问题

Database Redis持久性问题,database,node.js,redis,persistence,Database,Node.js,Redis,Persistence,我在Redis数据库中只有一个密钥,我在Node.js应用程序中经常使用它。每次访问该密钥时,该密钥都会递增。我的问题是,即使系统崩溃或意外发生任何事情,我也不想错过一个值。因为最近我注意到我的系统崩溃了,键值被重置为零,或者有时会重置为任何旧值 到目前为止,我尝试使用RDB和AOF来保存对磁盘的每次写入。 对于RDB,我使用了如下配置: 保存0 1 我知道它会在每次更改密钥后编写快照 对于AOF,我尝试作为: 总是附加同步 设置此配置后,我尝试将Redis关闭为Redis服务器关闭nosave

我在Redis数据库中只有一个密钥,我在Node.js应用程序中经常使用它。每次访问该密钥时,该密钥都会递增。我的问题是,即使系统崩溃或意外发生任何事情,我也不想错过一个值。因为最近我注意到我的系统崩溃了,键值被重置为零,或者有时会重置为任何旧值

到目前为止,我尝试使用RDB和AOF来保存对磁盘的每次写入。 对于RDB,我使用了如下配置:

保存0 1

我知道它会在每次更改密钥后编写快照

对于AOF,我尝试作为:

总是附加同步

设置此配置后,我尝试将Redis关闭为
Redis服务器关闭nosave


然后我启动Redis,但看到最新的值没有存储。

您必须设置
appendonly yes
config。根据这一点,我也设置了,我只是没有写上面。好的,让我知道我正在做的测试用例是正确的还是错误的。你能设置为每秒吗?因此,
save 1 1
根据文档指示,建议(默认)策略是每秒进行一次fsync。它速度很快,也很安全。“始终”策略在实践中非常缓慢(尽管在Redis 2.0中有所改进)——没有办法让fsync比现在更快。我也尝试过,但最新的值不会保存到磁盘上。您是否介意说明访问密钥的确切过程,以及如何增加密钥?我猜想持久性与未保存的最新值无关。这可能是您增加值的方式。您可以通过使用
monitor
从终端监控活动,以确定值是否真的保存到了密钥中,接下来是您认为这肯定是持久性问题的时候。请在关闭服务器时阅读此内容