05.Redis中Zset集合命令与应用场景
其他
2020-10-17 00:05:05
阅读次数: 0
有序集合 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
转载自blog.csdn.net/lglglglglgui/article/details/108718405