0

在一个 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)
4

1 回答 1

1

替换eleven_mins_ago为字符串值-inf以删除超过 10 分钟的所有内容并避免任何“泄漏”时间。有关完整的详细信息和解释,请参阅文档页面的独占间隔和无穷大部分。ZRANGE

于 2016-11-29T23:21:41.433 回答