有序集合 zset
ZSet常用操作
命令 | 说明 |
---|---|
zadd key score member [[score member]…] | 往有序集合key中加入带分值元素 |
zrem key member [member …] | 从有序集合key中删除元素 |
zscore key member | 返回有序集合key中元素member的分值 |
zincrby key increment member | 为有序集合key中元素member的分值加上increment |
zcard key | 返回有序集合key中元素个数 |
zrange key start stop [WITHSCORES] | 正序获取有序集合key从start下标到stop下标的元素 |
zrevrange key start stop [WITHSCORES] | 倒序获取有序集合key从start下标到stop下标的元素 |
zcount key min max | 返回有序集 key 中, score 值在 min 和 max 之间的成员的数量 |
zrangebyscore key min max [WITHSCORES ] [LIMIT offset count] | 获取有序集 key 中,所有 score 值介于 min 和 max 之间(包括 min 和 max)的成员,有序成员是按递增(从小到大)排序。 |
zrevrangebyscore key max min [WITHSCORES ] [LIMIT offset count] | 有序集成员按 score 值递减(从大到小)的次序排列。其他同 zrangebyscore; ( 表示不包括。 min , max 可以使用 -inf , |
zrevrangebyscore key max min [WITHSCORES | +inf 表示最小和最大;limit 用来限制返回结果的数量和区间 ,limit 0 2 从下标0开始返回两个。 |
Zset集合操作
命令 | 说明 |
---|---|
zunionstore destkey numkeys key [key …] | 并集计算 |
zinterstore destkey numkeys key [key …] | 交集计算 |
应用场景:
- Zset集合操作实现排行榜
1)点击新闻
zincrby hotNews:20200101 1
2)展示当日排行前十
zrevrange hotNews:20200101 0 10 WITHSCORES
3)七日搜索榜单计算
zunionstore hotNews:20200101-202001007 7
hotNews:20200101 hotNews:20200102… hotNews:20200107
4)展示七日排行前十
zrevrange hotNews:20200101-202001017 0 10 WITHSCORES