我有一个名为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"
我已经尝试了zinterstore
和zunionstore
,但他们强制要求这些套件的成员使用相同的名称。
答案 0 :(得分:1)
不,没有内置的Redis噱头,但是你可以使用Lua脚本(参见EVAL
command)来填充它。
那就是说,如果你需要的是按前缀计算的宠物数量,你应该考虑一个可以提供服务的替代数据模型。