redis sorted set command


ZADD key score member [[score member] [score member] …]
# 排好序后 从小到大
# start 开始位置  stop结束位置
# [WITHSCORES] 是否显示分数
# 以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推 
# 以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推
ZRANGE key start stop [WITHSCORES]


zrange zlist 0 -1 wisthscores
# 分数从大到小排列
ZREVRANGE key start stop [WITHSCORES]
# 获得分数
ZSCORE key member
# demo
zscore zlist five

# increment 可以正负  负的减分
ZINCRBY key increment member

zincrby zlist 3 five
# 有序集合数量
ZCARD key
# 在score >=min && score <= max 之间的数量
ZCOUNT key min max
#  从小到大  -inf在前 +inf
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

# -无穷  +无穷
ZRANGEBYSCORE zlist -inf +inf  withscores

# Will return all elements with 1 < score <= 5
ZRANGEBYSCORE zset (1 5

#  5 < score < 10
ZRANGEBYSCORE zset (5 (10

# 从第1个位置 取2个
ZRANGEBYSCORE zlist -inf +inf limit 1 2
# 从大到小  +inf在前 -inf在后
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
ZREVRANGEBYSCORE zlist +inf -inf

# 返回member的排名 从小到大  返回0是最小的
ZRANK key member
#  从大到小排名  返回0是最大的
ZREVRANK key member
# 移除元素
ZREM key member [member …]
# 根据排名删除
ZREMRANGEBYRANK key start stop

# 根据分数删除  
# 删除全部 从小到大  -inf在前 +inf
ZREMRANGEBYSCORE key min max

# 删除 3<= score <= 5
zremrangebyscore zlist 3 5

# 删除 3< score <= 5
zremrangebyscore zlist (3 5
# 当以相同的分数插入排序集中的所有元素时,为了强制按字典顺序排序
#  - 表示负无限(min)  + 表示正无限(max)
# [保护   (不包含
ZRANGEBYLEX key min max [LIMIT offset count]

# 全部数据
ZRANGEBYLEX zlist  - +

ZRANGEBYLEX zlist  - [ttt

ZRANGEBYLEX zlist  [a [z
# 当以相同的分数插入排序集中的所有元素时
# 为了强制按字典顺序排序,此命令将返回的排序集中的元素数
ZLEXCOUNT key min max

zlexcount zlist - +
ZLEXCOUNT myzset [b [f

ZUNIONSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM|MIN|MAX]


# 程序员组
zadd programmer 10000 a 20000 b 30000 c

# 管理组
zadd manager 11000 ma 22000 mb 31000 mc

# 程序组加薪10%  管理组加薪20%
# 合并到薪水组
# numkeys=2  key1=programmer  key2=manager 
# key1对应权重=1.1  key2对应权重=1.2
ZUNIONSTORE salary 2 programmer manager WEIGHTS 1.1 1.2

# 查看薪水组
zrange salary 0 -1 withscores

# 添加hr组
zadd hr 8000 a 30000 mb

# AGGREGATE MAX  如果多个集合中member一样  取最大  最小  或者  求和
ZUNIONSTORE salary2 3 programmer manager hr WEIGHTS 1.1 1 1 AGGREGATE MAX
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

# 取交集

ZADD zset1 1 "one" 2 "two"
ZADD zset2 1 "one" 2 "two" 3 "three"



ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3

zrange out 0 -1 withscores
1) "one"
2) "5"
3) "two"
4) "10"

# 取并集最小值 numkeys=2     2 3 是权重
ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3 aggregate min
发布了532 篇原创文章 · 获赞 46 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/kq1983/article/details/104288532