【问题标题】:How do you expire a field of a hash in Redis?如何使 Redis 中的哈希字段过期?
【发布时间】:2015-05-29 18:42:25
【问题描述】:

我想在不同的时间后使哈希的某些字段过期。从文档来看,这似乎是不可能的:http://redis.io/commands/expire。我可以以某种方式模仿这种行为吗?目前,我只是将哈希名称复制为所有字段的前缀,并为每个字段添加过期时间。对于我要存储的结构是:

"PEOPLE" : {
 "NICK" : 29
 "AMANDA" : 23
}

但我不能在“NICK”上设置过期时间,只能在整个哈希“PEOPLE”上设置。所以我将它转换为键的数量,值:

"PEOPLE_NICK" : 29 (expire 2 hours)
"PEOPLE_AMANDA" 23 (expire 1 hour)

但是有很多键,这使得管理变得非常困难并且获取更加繁琐,因为我必须通过公共前缀获取所有内容。

【问题讨论】:

    标签: python redis


    【解决方案1】:

    如果上面的示例是一个准确的表示,并且取决于您将如何准确地使用数据,您可以使用一个排序集,其中每个人的分数是一个 Unix 时间戳。然后,您将在 Cron 作业中使用 zremrangebyscore 来清除超出您可接受范围的项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 2011-08-06
      • 1970-01-01
      相关资源
      最近更新 更多