redis存储数据的时间长度(键值)?

时间:2015-01-27 14:42:18

标签: ruby-on-rails redis

我有一个我需要8天的变量。在此期间,它应该可以通过RoR应用程序中的$ redis.get('my_variable')获得。这可能吗?

提前感谢您的回答。

2 个答案:

答案 0 :(得分:0)

Redis是一个键值存储,可以将数据保存在RAM中,但也可以将其写入硬盘。

因此,在redis中保存数据8天不是问题。即使您将重新启动它。

只需正确配置即可。

答案 1 :(得分:0)

这完全有可能。要具体说明密钥何时过期,请使用EXPIREEXPIREAT命令。

EXPIREredis ruby​​ gem一起使用将如下所示:

$redis.set("my_variable", "foo")
$redis.expire("my_variable", 8.days)
$redis.get("my_variable") # => "foo"
sleep(8.days)
$redis.get("my_variable") # => nil

EXPIREAT同样有效:

$redis.expireat("my_variable", 8.days.from_now.to_i)