gpt4 book ai didi

search - REDIS 哈希 HMSET 中的 COUNT 和 SEARCH

转载 作者:IT王子 更新时间:2023-10-29 06:01:42 26 4
gpt4 key购买 nike

请REDIS高手帮忙。我想在 Redis 哈希中进行计数和搜索。

我的用户数据:

| id | name    | age | country |
| 1 | jaspal | 32 | US
| 2 | singh | 45 | UK
| 4 | manjot | 24 | US
| 5 | tarleen | 20 | UK
| 7 | daljeet | 30 | US
| 8 | sutdhar | 40 | US

...等等

我使用 HMSET 将此用户数据存储在 redis 中:

HMSET user:1 name "jaspal"  age "32" country "US"
HMSET user:2 name "singh" age "45" country "UK"
HMSET user:4 name "manjot" age "24" country "US"
HMSET user:5 name "tarleen" age "20" country "UK"
HMSET user:7 name "daljeet" age "30" country "US"
HMSET user:8 name "sutdhar" age "40" country "US"

现在我想要以下内容:

  1. 计算哈希用户中的记录数。
  2. 仅获取记录WHERE country=US AND age BETWEEN AND 40

最佳答案

你不能只用哈希来做到这一点。 Redis 不支持按值搜索;在您的情况下,您需要使用 sorted sets在分数中存储年龄和国家,在值中存储用户 ID。例如:

zadd user:ages 30 1 34 2 45 3 and so on...

然后您可以选择指定年龄范围内的所有用户:

zrangebyscore user:ages 30 40

对于国家也是如此(你需要使用数字国家表示)

您可以使用lua脚本在redis端对选择结果进行交集或并集

关于search - REDIS 哈希 HMSET 中的 COUNT 和 SEARCH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14071517/

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