如何通过redis中的通配符键获取所有值

时间:2017-11-24 19:13:10

标签: go redis redigo

假设我在redis中有以下数据:

key               value

user-1-xxxx       data1

user-1-yyyy       data2

user-1-tttt       data3

那么,我可以通过通配符user-1-*获取所有上述记录(包括键和值)。

我尝试KEYS user-1-*,但它只提供所有键,而不是它们的值。

如果不支持通配符搜索,您是否可以推荐一种存储此类数据的方法。

顺便说一句,我正在使用golang redigo。

2 个答案:

答案 0 :(得分:1)

您可能希望将数据结构化为哈希而不是单个键。

> HSET user-1 xxxx data1
> HSET user-1 yyyy data2
> HSET user-1 tttt data3

如果您想让用户运行HGETALL user-1的所有内容,但如果您只想获得特定部分,请转到HGET user-1 xxx

答案 1 :(得分:0)

Redis并非专为按价值查找数据而设计。您可以自己索引数据(请参阅https://redis.io/topics/indexes)或使用搜索引擎,例如http://redisearch.io