5、SortedSet 类型
ZSet 常用操作
// ZSet常用操作
// 1、往有序集合key中加入带分值元素(或者更新已存在成员的分数)
ZADD key score member [score member ...]
// score是得分的意思,例如:
zadd df 90 lisi
// 2、从有序集合key中删除元素
ZREM key member [member ...]
// 3、返回有序集合key中元素member的分值
ZSCORE key member
// 4、为有序集合key中元素member的分值加上increment
ZINCRBY key increment member
// 5、返回有序集合key中的元素个数
ZCARD key
// 6、正序获取有序集合key从start下标到stop下标的元素
ZRANGE key start stop [WITHSCORES]
// 7、倒序获取有序集合key从start下标到stop下标的元素
ZREVRANGE key start stop [WITHSCORES]
ZSet 集合操作
// 并集计算
ZUNIONSTORE destkey numkeys key [key ...]
// 交集计算
ZINTERSTORE destkey numkeys key [key ...]

适用场景
场景 1、热搜榜:
- 点击一次新闻,
ZINCRBY hotNews:20190819 1 新闻1号或者是ZINCRBY hotNews:20190819 1 新闻1号 2 新闻2号。 - 展示当日排行前十,
ZREVRANGE hotNews:20190819 0 9 WITHSCORES - 七日搜索榜单计算,
ZUNIONSTORE hotNews:20190813-20190816 7 hotNews:20190813 hotNews:20190814 hotNews:20190815 hotNews:20190816 - 展示七日排行前十,
ZREVRANGE hotNews:20190813-20190819 0 9 WITHSCORES
场景2、根据商品销售对商品进行排序显示:
- 定义商品销售排行榜(sortedset集合),key 为
goods:sellsort,分数为商品销售数量 - 商品编号 1001 的销量是 9,商品编号 1002 的销量是 15,
zadd goods:sellsort 9 1001 15 1002 - 有一个客户又买了 2 件商品 1001,商品编号 1001 销量加 2,
zincrby goods:sellsort 2 1001 - 求商品销量前 10 名,
zrange goods:sellsort 0 10 withscores
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...