小结一下Redis有序集合的常用命令有:zadd,zrange,zremrangebyrank,zremrangebyscore,zcard等,这些都是使用频率比较高的,还有一些参数的说明等。
ZADD命令
将一个或多个 member 元素及其 score 值加入到有序集 key 当中。
如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。
score 值可以是整数值或双精度浮点数。
先用zadd命令批量添加一些元素到有序集合中,后面的操作都是基于这个集合进行。
Vim
127.0.0.1:6379> zadd myzadd 1 a 2 b 3 c 4 d 5 e 6 f 7 d 8 e 9 f 10 111com.net
(integer) 7
有序集合最特别的地方在于score,有了分值可以做很多事情,这个score不仅可以理解为分值,有时也会存时间戳,或者ip的整形形式,可以灵活运用。
ZRANGE命令
语法:ZRANGE key start stop [WITHSCORES]
zrange命令用于返回有序集合中给定区间的元素。start从0开始,stop是结束下标,如果是负数表示从倒数开始,-1倒数第一个,-2倒数第二个……
看下面的操作一目了然。
127.0.0.1:6379> zrange myzadd 0 1
1) "a"
2) "b"
127.0.0.1:6379> zrange myzadd 0 5
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"
127.0.0.1:6379> zrange myzadd 1 5
1) "b"
2) "c"
3) "d"
4) "e"
5) "f"
127.0.0.1:6379> zrange myzadd 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"
7) "111com.net"
加上WITHSCORES参数显示分值:
127.0.0.1:6379> zrange myzadd 0 -1 WITHSCORES
1) "a"
2) "1"
3) "b"
4) "2"
5) "c"
6) "3"
7) "d"
8) "7"
9) "e"
10) "8"
11) "f"
12) "9"
13) "111com.net"
14) "10"
ZREMRANGEBYRANK命令
语法:ZREMRANGEBYRANK key start stop
移除有序集中指定排名(rank)区间内的所有成员。start从0开始,stop可以为负数,表示倒过来第几位。
127.0.0.1:6379> zremrangebyrank myzadd 0 2
(integer) 3
执行这个命令就删除了前三个元素a,b,c.
ZREMRANGEBYSCORE命令
语法:ZREMRANGEBYSCORE key min max
移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。
127.0.0.1:6379> zremrangebyscore myzadd 7 8
(integer) 2
这样一来就把分值是7和8的元素d,e移除了.
ZREMRANGEBYRANK和ZREMRANGEBYSCORE从字面上很好理解,都是移除元素,一个根据下标,一个根据分值。
ZCARD命令
语法:ZCARD key
返回有序集合的基数。
127.0.0.1:6379> zcard myzadd
(integer) 2
经过前面的删除元素操作,现在只剩2个元素了。
ZCOUNT命令
语法:ZCOUNT key min max
ZCOUNT命令和ZCARD命令的不同是,ZCOUNT支持根据范围返回元素个数。
由于集合元素都差不多删没了,重新添加一组元素:
127.0.0.1:6379> zadd new 100 www.baidu.com 900 www.111com.net 12 www.yahoo.com 90 www.xunlei.com 88 www.juanpi.com
(integer) 5
如图所示:
newzadd
现在返回分值在80和100之间的成员数量。
127.0.0.1:6379> zcount new 80 100
(integer) 3
返回3个。
在Redis里面,还有个参数inf,-inf表示第一个成员,+inf表示最后一个。
127.0.0.1:6379> zcount new 80 +inf
(integer) 4
这里就返回4个数量,+inf这里表示没有限制最高分值的意思。
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔