首页 > 代码库 > [redis数据结构] 之 zset(有序集合)
[redis数据结构] 之 zset(有序集合)
上一篇讲述了无序set集合的使用命令,本文将讲述zset(有序集合)的使用命令以及实例。zset的一个元素由权重和值构成,权重表示的是位置,也就是有序的来由。
1、如果添加一个有序集合元素
语法:zadd [zset集合] [权重(数值类型)] [元素值]# 默认是权重由小到大排列
范例:
阐述:在无序集合中,sadd一个已经存在的元素,是不存添加成功的;虽然在zset中添加一个已经存在的元素也无法添加,但是会可以修改其新设置的元素权重。
例如:
2、如果删除一个元素
语法:zrem [zset集合]
范例:
3、遍历有序集合
# 权重从小到大排列遍历 语法1:zrange [zset集合] [开始索引] [结束索引] <withscores> # 权重从大到小排列遍历 语法2:zrevrange [zset集合] [开始索引] [结束索引] <withscores>
范例:
阐述:语法包含withscores是表示显示权重。
4、自增/自减元素权重
语法:zincrby [zset集合] [步长] [元素] # 返回元素的权重 描述:如果元素不存在,那么添加元素,并设置权重为指定步长,否则修改元素的权重为自增或自减的结果。
范例:修改51cto2元素的权重为7
5、获取元素的索引位置
# 按照权重升序取索引(从小到大) 语法1:zrank [zset集合] [元素] # 获取指定元素的索引位置 # 按照权重降序取索引(从大到小) 语法2:zrevrank [zset集合] [元素]
范例:分别按照降序和升序去出51cto2元素的索引值(索引是从0开始的)
6、获取某个权重区间的元素列表
语法:zrangebyscore [zset集合] [起始权重] [结束权重] <withscores> 描述:获取某个权重区间的元素,withscores选项与zrange一致
范例:获取权重3,4之间的元素
7、获取某个权重区间的元素个数
语法:zcount [zset集合] [起始权重] [结束权重] # 返回元素个数
范例:获取权重3到4之间的元素个数
8、获取指定元素的权重
语法:zscore [zset集合] [元素] # 返回元素的权重数值
范例:获取51cto2的权重
9、获取集合大小
语法:zcard [zset集合] # 返回集合元素大小
范例:获取set1集合的元素个数
10、批量删除
# 按照索引位置批量删除 语法1:zremrangebyrank [zset集合] [开始索引] [结束索引] # 按照权重区间批量删除 语法2: zremrangebyscore [zset集合] [开始索引] [结束索引]
范例:
本文出自 “java程序冥” 博客,请务必保留此出处http://793404905.blog.51cto.com/6179428/1549770
[redis数据结构] 之 zset(有序集合)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。