Merge Redis使用模式设置成员值

时间:2018-02-24 12:39:34

标签: redis zset

我有一个名为zset的简单pets

redis-cli zadd pets 1 cat1
redis-cli zadd pets 1 cat2
redis-cli zadd pets 1 cat3

redis-cli zadd pets 1 rat1
redis-cli zadd pets 1 rat2

值始终为1。现在设置状态为redis-cli zrange pets 0 -1 withscores

 1) "cat1"
 2) "1"
 3) "cat2"
 4) "1"
 5) "cat3"
 6) "1"
 7) "rat2"
 8) "1"
 9) "rat1"
10) "1"

有没有办法根据模式合并集合成员?我希望将所有成员的名字加上以前缀开头的名字,在我的例子中是宠物类型,以便最终得到以下内容:

1) "cat"
2) "3"
3) "rat"
4) "2"

我已经尝试了zinterstorezunionstore,但他们强制要求这些套件的成员使用相同的名称。

1 个答案:

答案 0 :(得分:1)

不,没有内置的Redis噱头,但是你可以使用Lua脚本(参见EVAL command)来填充它。

那就是说,如果你需要的是按前缀计算的宠物数量,你应该考虑一个可以提供服务的替代数据模型。