JAVAWEB开发之redis学习(五)——SortedSet集合相关的操作命令

Redis中的SortedSets集合类型是一种有序的字符串集合,每个成员都有一个分数进行排序。本文介绍了SortedSets的基本概念,特点以及包括ZADD、ZCARD、ZCOUNT、ZINCRBY、ZRANGE等在内的相关操作命令及其用法。
摘要由CSDN通过智能技术生成

一、概述

Sorted-Sets和Sets类型极为相似,它们都是字符串集合,都不允许重复的成员出现在同一个Set中。它们之间的主要差别是Sorted-Sets中每一个成员都有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然而需要额外指出的是,尽管Sorted-Set中成员必须是唯一的,但是分数(score)却是可以重复的。在Sorted-Set中删除或更新一个成员都是非常快速的操作,其时间复杂度为集合中成员数量的对数,由于Sorted-Sets中的成员在集合中都是有序的,因此即便是访问位于结合中部的成员也是非常高效的。事实上,Redis所具有的这一特征在其它类型的数据库中是很难实现的,换句话说,在该点上要想达到和Redis同样的高效,在其它数据库中进行建模是非常困难的。

二、相关命令列表

命令格式:命令原型   时间复杂度+命令描述   返回值

  • ZADD   key  score   member [score  member   ...]   O(log(N))  时间复杂度中的N表示Sorted-Set中成员的数量。添加参数中指定的所有成员及其分数到指定的Sorted-Set中,在该命令中我们可以指定多组的score/member作为参数。如果在添加时参数中的某一成员已经存在,该命令将更新此成员的分数为新值,同时再将该成员基于新值从新排序。如果键不存在,该命令将为该键创建一个新的Sorted-Sets  Value,并将score/member对插入其中。如果该键已经存在,但是与其关联的不是Sorted-Sets类型,将会返回相关的错误信息。返回值:本次操作实际插入的成员数量。
  • ZCARD  key     O(1)  获取与该key相关联的Sorted-Sets中包含的成员数量。返回Sorted-Sets中的成员数量,如果该key不存在,将返回0。
  • ZCOUNT   key  min  max     O(log(N)+M)  该命令用于获取分数(score)在min和max之间的成员数量。针对min和max需要额外说明的是。-inf 和+inf分别表示Sorted-Sets中分数的最高值和最低值。缺省情况下,min和max表示范围是闭区间范围,即min <=  score <= max内的成员将被返回。然而我们可以通过在min和max的前面添加"(" 字符来表示开区间,如(min  max  表示 min  < score <= max,而(min  (max表示min < score  < max 。返回值:分数指定范围内的数量。
  • ZINCRBY  key  increment  member  O(log(N))  该命令将为指定key中指定成员增加指定的分数。如果成员不存在 ,该命令将添加该成员并假设其初始分数为0,此后再将分数加上increment。如果key不存在,该命令将创建该key及其关联的Sorted-Sets,并包含参数指定的成员,其分数为increment参数。如果与该
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值