【问题标题】:Trimming sorted set by score按分数排序的修剪
【发布时间】:2016-11-29 20:29:41
【问题描述】:

在一个 Django 应用程序中,我使用 redis 来维护一个全局排序集,其中用户 ID 与自纪元以来的当前时间得分一起存储。

每 11 分钟后,我将运行一个异步任务,将排序集修剪为仅在前 10 分钟内保存的值,除此之外没有

以下内容会实现这一点吗?我不确定边缘情况(例如,这会确保所有旧值都被删除或会泄漏等):

time_now = time.time() #current time since epoch
ten_mins_ago = time_now - (10*60)
eleven_mins_ago = time_now - (11*60)
my_redis_server.zremrangebyscore(sorted_set,eleven_mins_ago,ten_mins_ago)

【问题讨论】:

    标签: redis redis-py


    【解决方案1】:

    eleven_mins_ago 替换为字符串值 -inf 以删除超过 10 分钟的所有内容并避免任何“泄漏”时间。请参阅ZRANGE 文档页面的Exclusive intervals and infinity 部分以获取完整的详细信息和说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多