Redis基本操作命令学习之五对ZSet(有序集合类型)数据操作命令

学习了有序集合后的命令后在此记录一下:
ZSet 和 Set 的区别 :因为在ZSet中为每个值指定了一个double类型的分数,利用这个指定的分数来进行排序

1. 新增元素( zadd key score value [ score2 value2 …])
    > zadd zkey 1.0 华为   # 1.0为新增的这个value值的double型分数
    (integer) 1            # 返回成功新增的元素个数
    > zadd zkey 3.0 荣耀 5.0 小米 7.0 VIVO
    (integer) 3
2.查询某个value值对应的score分数( zscore key value )
    > zscore zkey VIVO
    7.0
3. 查询获取元素( zrange key start stop [withscores] / zrevrange key start stop / zrangebyscore key min maxn [ limit offset num ] )
  • zrange命令根据下标获取元素,即:先进行升序排序后再获取元素,元素的第一个值下标从0开始,最后一个值下标从-1开始;withscores作用是将score分数和value值全部返回;

  • zrevrange命令是根据下标倒序获取元素,即:先进行降序排序后再获取元素;

  • zrangebyscore命令是根据指定的value的分数范围来获取元素;limit 作用类似对元素进行分页;

      > zrange zkey 0 -1
      1) "华为"
      2) "荣耀"
      3) "小米"
      4) "VIVO"
      > zrevrange zkey 0 -1
      1) "VIVO"
      2) "小米"
      3) "荣耀"
      4) "华为"
      > zrangebyscore zkey 5 10
      1) "小米"
      2) "VIVO"
    
4. 获取value值的下标( zrank key value / zrevrank key value)
  • zrank命令正序获取元素下标值,即:先进行升序排序后再获取元素下标

  • zrevrank 命令倒序获取元素下标值,即:先进行降序排序后再获取元素下标

      > zrank zkey 小米     # 结合上面的zrange命令查看元素的位置
      2
      > zrevrank zkey 小米  # 结合上面的zrevrange命令查看元素的位置
      1
    
5. 删除元素( zrem key value / zremrangebyrank key start stop / zremrangebyscore key min max )
  • zrem 命令根据指定的value值删除该元素

  • zremrangebyrank 命令根据指定的元素下标值范围删除元素

  • zremrangebyscore 命令根据指定的元素score分数范围删除元素

      > zrem zkey VIVO      # 删除一个元素
      	1        		    # 返回删除元素的个数
      > zrange zkey 0 -1
      	1) "华为"
      	2) "荣耀"
      	3) "小米"
      > zremrangebyrank zkey 0 2
      	(integer) 3
      > zadd zkey 3.0 荣耀 5.0 小米 7.0 VIVO 15 魅族
      	(integer) 4
      	> zrange zkey 0 -1 withscores
      	1) "荣耀"
      	2) 3.0
      	3) "小米"
      	4) 5.0
      	5) "VIVO"
      	6) 7.0
      	7) "魅族"
      	8) 15.0
      	> zremrangebyscore zkey 5 20
      	3
    
6. 统计元素个数 ( zcard key / zcount key min max)
  • zcard 命令是统计某个集合中元素总个数

  • zcount 命令是统计指定的分数范围内的元素个数

      > zcount zkey 0 5   # 统计value值对应的score分数值在0~5之间的元素个数
      1
      > zcard zkey        # 统计某个集合中value的总个数
      1
    

你可能感兴趣的:(Redis)