我正在使用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服务器?
答案 0 :(得分:0)
Redis密钥没有默认的到期日期。
您确定没有删除密钥吗?
您可以检查Redis服务器是否重新启动? 您是否在Redis数据集上使用任何形式的持久性?