gpt4 book ai didi

redis - redis中的时间限制列表

转载 作者:可可西里 更新时间:2023-11-01 11:13:11 25 4
gpt4 key购买 nike

通过以所需大小执行 ltrim,可以很容易地在 redis 中创建一个固定大小的列表。但是,如何维护包含有时间限制而非大小限制的数据的列表。

例如我如何维护在过去 10 分钟内登录到我的网站的所有 user_ids 的列表?请提供一个说明性示例,说明实现此目的的最有效方法。也许我正在处理错误的数据类型?

最佳答案

只需使用排序集而不是列表。使用 unix 时间戳作为项目的分数。

在 Zset 中添加一个项目:
ZADD myzet <current timestamp> item

要检索最后十分钟的项目,按插入时间排序,旧的在前:
ZRANGEBYSCORE myzset (<current timestamp - 600 seconds> (+inf

要获得最新的第一个替换 ZREVRANGEBYSCORE与 ZRANGEBYSCORE。

要删除过期的项目:


ZREMRANGEBYSCORE -inf (<current timestamp - 600 seconds>

关于redis - redis中的时间限制列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39646852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com