redis教程: zset命令
2019-08-06 本文已影响0人
warmsirius
zset类型
- sorted set,有序集合
- 元素为string类型
- 元素具有唯一性,不重复
- 每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序
- 说明:没有修改操作
一、增加
1. 添加
zadd key score1 member1 score2 member2 ...
-
score:代表权重
-
例1:向键 a4的集合中添加元素lisi、zhangsan、wangwu,权重分别为4、5、6
127.0.0.1:6379[1]> zadd a4 4 lisi 5 zhangsan 6 wangwu
(integer) 3
127.0.0.1:6379[1]> type a4
zset
二、获取
1. 返回指定范围内的元素
- start、stop为元素的下标索引
- 索引从左侧开始,第一个元素为0
- 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
zrange key start stop
- 例2:获取键a4的集合的所有元素
127.0.0.1:6379[1]> zrange a4 0 -1
1) "lisi"
2) "zhangsan"
3) "wangwu"
2. 返回score(权重)在min和max之间(闭区间)的成员
zrangebyscore key min max
- 例3:获取键a4的集合权限值在5和6之间的成员
127.0.0.1:6379[1]> zrangebyscore a4 5 6
1) "zhangsan"
2) "wangwu"
3. 返回成员的score值
zscore key member
- 例4: 获取键a4的集合元素中zhangsan的权重
127.0.0.1:6379[1]> zscore a4 zhangsan
"5"
三、删除
1. 删除指定元素
zrem key member1 member2 ...
- 例5:删除集合a4中的元素zhangsan
127.0.0.1:6379[1]> zrem a4 zhangsan
(integer) 1
127.0.0.1:6379[1]> zrange a4 0 -1
1) "lisi"
2) "wangwu"
2. 删除权重在制定范围内的元素
zremrangebyscore key min max
- 例6:删除集合a4中权限在5、6之间的元素
127.0.0.1:6379[1]> zremrangebyscore a4 5 6
(integer) 1
127.0.0.1:6379[1]> zrange a4 0 -1
1) "lisi"