0

我正在使用 REDIS 存储一个表示文档版本的整数值。在我的代码中,对 REDIS 的唯一调用如下:

 def get_document

   ...
   version = REDIS.get("version").to_i
   ...

 end

 def publish_document

    ...
    REDIS.incr("version")
    ...

 end

这个想法是每次我们发布文档时,它的版本号都会增加。它必须始终上升,永不下降。当我们检索文档时,我们会知道我们使用的是哪个版本。

问题是版本号时不时地回落到 0,这意味着 REDIS 密钥“版本”以某种方式被删除(因为 nil.to_i => 0)。但是在我的代码中,我没有删除“版本”,也没有发送过期日期。

有谁知道发生了什么?REDIS 密钥是否有默认到期日期?还是 REDIS 服务器在我不知情的情况下被重置?

4

1 回答 1

0

Redis 密钥没有默认到期日期。

您确定没有删除您的密钥吗?

你能检查你的 Redis 服务器是否重新启动吗?您是否在 Redis 数据集上使用任何形式的持久性?

于 2013-08-06T21:32:48.343 回答