Redis数据结构之ZSet类型

86 阅读1分钟

ZSet常用操作

ZADD key score member [[score,member]...]         //往有序集合key中加入带分值元素
ZREM key member [member...]                       //从有序集合key中删除元素
ZSCORE key member                                 //返回有序集合key中元素member的分值
ZINCRBY key increament member                     //为有序集合key中元素member的分值加上increment
ZCARD key                                         //返回有序集合key中元素个数
ZRANGE key start stop [WITHSCORES]                //正序获取有序key从start下标至stop下标的元素
ZREVRANGE key start stop [WITHSCORES]             //倒序获取有序集合key从start下标到stop下标的元素

ZSet 集合操作

ZUINONSTORE destkey numkeys key [key...]     //destKey 求出并集后存放ZSET   numKeys 有多个key需要求并集, key[key...] 具体的key

ZINTERSTORE destkey numKeys key[key...]     destKey 求出交集后存放ZSET   numKeys 有多个key需要求交集, key[key...] 具体的key

ZSet集合操作实现操行榜

1) 点击新闻
ZINCRBY hotNews:20220101 1 newId      //用户点击后,新闻id对应的点击量加1 
2) 展示当日排行前十
ZREVRANGE hotNews:20220101 0 9 WITHSCORES
3) 七日搜索榜单计算
ZUIONSTORE hotNews:20220101-20220107 7 hotNews:20220101 hotNews:20220102 hotNews:20220103 hotNews:20220104 hotNews:20220105 hotNews:20220106 hotNews:20220107
//ZUINONSTORE destkey numkeys key [key...]  对zset filed的score会作相加
4) 展示七日排行前十
ZREVRANGE hotNews:20220104-20220107 0 9 WITHSCORES