redis有序集合orderset操作


无序集合操作


zadd key score1 value1 score2 value2 ...

添加元素,score就是排序的依据


zrange key start stop [withscores]

将集合元素排序后,返回名次[start stop]的元素,默认升序排序

withscores是取出的元素显示scores


zrangebyscore key min max [withscores] limit offset N

将集合升序排序后,取score在[min, max]内的元素,并跳过offset个,取出N个


zrank key member

查询集合成员member的排名,不存在返回nil


zrevrank key member

查询集合成员member的降序排名


zremrangebyscore key min max

按照score来删除元素,删除范围[min, max]


zrem key member

直接删除成员member


zcard key

返回元素个数


zcount key min max
返回[min, max]区间内元素的数量


zinterstore destination numeys key1 [key2 ...] [WEIGHTS weight [weight...]] [AGGREGATE SUM|MIN|MAX]

求key1, key2的交集,key1,key2的权重分别是weight1,weight2

聚合方法用:sum,min,max

聚合的结果:保存在dest集合内,numkeys是key的数量,redis就可以分辨后面哪些该是权重。


127.0.0.1:6379> zadd lisi 3 cat 5 dog 6 horse
(integer) 3
127.0.0.1:6379> zadd wang 2 cat 6 dog 8 horse 1 donkey
(integer) 4

127.0.0.1:6379> zinterstore result 2 lisi wang
(integer) 3

127.0.0.1:6379> zrange result 0 -1 withscores
1) "cat"
2) "5"
3) "dog"
4) "11"
5) "horse"
6) "14"


权重怎么理解:

如果有交集,交集元素又有score,score怎么处理?

aggrregate->score相加,min求最小score,max最大score

另:可以通过weight设置不同key的权重,交集时score * weight。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值