Redis ZSET 排行榜相关命令
通过 zadd 命令添加了 6 个元素到 cus_order_set 中
ZADD cus_order_set 112.0 user1 100.0 user2 123.0 user3 100.0 user4 33.0 user5 993.0 user6
查看cus_order_set的数量
ZCARD cus_order_set
查看某个key的值
ZSCORE cus_order_set user1;
倒序所有
ZREVRANGE cus_order_set 0 -1;
正序所有
ZRANGE cus_order_set 0 -1;
倒序前三
ZREVRANGE cus_order_set 0 2;
获取某个人的位置
ZREVRANK cus_order_set "user3"
给某个人增加or减小
ZINCRBY cus_order_set +2 "user1";
ZINCRBY cus_order_set -1 "user1"
不同set合并计算
并集
ZADD 20350305 112.0 user1 100.0 user2 123.0 user3
ZADD 20350306 80.0 user1 100.0 user4
ZADD 20350307 33.0 user4 993.0 user5
创建并集,计算最后三天的正序
ZUNIONSTORE last_3_days 3 20350305 20350306 20350307
ZRANGE last_3_days 0 -1 WITHSCORES
如果第一个set和第二个set有重复的,默认什么都不写是合并数值,也有其他的计算方式,比如最大值和最小值
● SUM:对于不同集合的相同元素使用和作为结果集中对应元素的score。默认使用 SUM,如果不指定的话。
● MIN:对于不同集合的相同元素使用某个元素最小的score 值作为结果集中对应元素的score。
● MAX:对于不同集合的相同元素使用某个元素最大的score 值作为结果集中对应元素的score
ZUNIONSTORE last_3_days 3 20350305 20350306 20350307 AGGREGATE MAX
ZRANGE last_3_days 0 -1 WITHSCORES
交集
ZINTERSTORE last_3_days 3 20350305 20350306 20350307
合并的时候计算不同的权重
ZADD staff_set 3.0 staff1 4.0 staff2
ZADD manager_set 1.0 manager1 2.0 manager2
合并的时候采用不同的weight
ZUNIONSTORE all_user_set 2 staff_set manager_set WEIGHTS 1 3
ZREVRANGE all_user_set 0 -1 WITHSCORES
License:
CC BY 4.0