gpt4 book ai didi

redis - 给出 Redis 中特定位置的所有条目

转载 作者:IT王子 更新时间:2023-10-29 06:05:31 27 4
gpt4 key购买 nike

我有下表:

| timestamp  | user   | count |
|------------|--------|-------|
| 1432888700 | muster | 2 |
| 1432888699 | muster | 1 |
| 1432888693 | muster | 2 | <-- position
| 1432888692 | muster | 1 |

在 Redis 中,我可以使用以下命令添加此值:

hset muster 1432888692 1
hset muster 1432888693 2
hset muster 1432888699 1

所有条目均按时间戳排序。现在我想输出特定位置的所有条目。例如在 SQL 语法中:

SELECT * FROM muster WHERE timestamp >= 1432888693

我真的没有在 redis 中找到指定的命令来执行此操作。您知道命令吗?或者这在 Redis 中完全可行?

最佳答案

如果您使用正确的数据结构,这是可能的。在您的示例中,您使用了一个散列对象,它不按顺序存储项目。

您可能想改用排序集(参见 Zxxx commands ),并且只使用时间戳作为分数。

ZADD muster 1432888692 1
ZADD muster 1432888693 2
ZADD muster 1432888699 1

要查找时间戳大于或等于特定值的记录,您可以使用 ZRANGEBYSCORE :

#  WHERE timestamp >= 1432888693
ZRANGEBYSCORE muster 1432888693 +inf WITHSCORES

关于redis - 给出 Redis 中特定位置的所有条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30525296/

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