目录
- 1.set 类型
- 2.zset 类型
1.set 类型
- sadd 将⼀个或者多个元素添加到 set 中。注意,重复的元素无法添加到 set 中 语法:SADD key member [member …] 返回值:本次添加成功的元素个数
- smembers 获取⼀个 set 中的所有元素,注意,元素间的顺序是无序的 语法:SMEMBERS key 返回值:所有元素的列表
- sismember 判断⼀个元素在不在 set 中 语法:SISMEMBER key member 返回值:1 表示元素在 set 中。0 表示元素不在 set 中或者 key 不存在
127.0.0.1:6379> sadd key 1 2 3 4
4
127.0.0.1:6379> smembers key
1
2
3
4
127.0.0.1:6379> sismember key 2
1
127.0.0.1:6379> sismember key 100
0
- scard 获取⼀个 set 的基数(cardinality),即 set 中的元素个数 语法:SCARD key 返回值:set 内的元素个数
127.0.0.1:6379> smembers key
1
2
3
4
127.0.0.1:6379> scard key
4
- spop 从 set 中删除并返回⼀个或者多个元素。随机的 语法:SPOP key [count] 返回值:取出的元素
127.0.0.1:6379> smembers key
1
2
3
4
127.0.0.1:6379> spop key
1
127.0.0.1:6379> spop key 2
3
4
127.0.0.1:6379> spop key
2
- smove 将⼀个元素从源 set 取出并放入目标 set 中 语法:SMOVE source destination member 返回值:1 表示移动成功,0 表示失败
127.0.0.1:6379> sadd key 1 2 3 4
4
127.0.0.1:6379> sadd key2 5 6 7 8
4
127.0.0.1:6379> smove key key2 1
1
127.0.0.1:6379> smembers key
2
3
4
127.0.0.1:6379> smembers key2
1
5
6
7
8
- srem 将指定的元素从 set 中删除 语法:SREM key member [member …] 返回值:本次操作删除的元素个数
127.0.0.1:6379> smembers key2
1
5
6
7
8
127.0.0.1:6379> srem key2 6 7
2
127.0.0.1:6379> srem key2 1 2 5
2
- sinter 获取给定 set 的交集中的元素 语法:SINTER key [key …] 返回值:交集的元素
- sinterstore 获取给定 set 的交集中的元素并保存到目标 set 中 语法:SINTERSTORE destination key [key …] 返回值:交集的元素个数
127.0.0.1:6379> sadd key 1 2 3 4
4
127.0.0.1:6379> sadd key2 3 4 5 6
4
127.0.0.1:6379> sinter key key2
3
4
127.0.0.1:6379> sinterstore key3 key key2
2
127.0.0.1:6379> smembers key3
3
4
- sunion 获取给定 set 的并集中的元素 语法:SUNION key [key …] 返回值:并集的元素
- sunionstore 获取给定 set 的并集中的元素并保存到目标 set 中 语法:SUNIONSTORE destination key [key …] 返回值:并集的元素个数
127.0.0.1:6379> sunion key key2
1
2
3
4
5
6
127.0.0.1:6379> sunionstore key4 key key2
6
- sdiff 获取给定 set 的差集中的元素 语法:SDIFF key [key …] 返回值:差集的元素
- sdiffstore 获取给定 set 的差集中的元素并保存到目标 set 中 语法:SDIFFSTORE destination key [key …] 返回值:差集的元素个数
127.0.0.1:6379> smembers key
1
2
3
4
127.0.0.1:6379> smembers key2
3
4
5
6
127.0.0.1:6379> sdiff key key2
1
2
127.0.0.1:6379> sdiffstore key5 key key2
2
127.0.0.1:6379> sdiff key2 key
5
6
127.0.0.1:6379> smembers key5
1
2
2.zset 类型
- zadd 添加或者更新指定的元素以及关联的分数到 zset 中,分数应该符合 double 类型,+inf/-inf 作为正负 极限也是合法的 语法:ZADD key [NX | XX] [GT | LT] [CH] [INCR] score member [score member …] 返回值:本次添加成功的元素个数
ZADD的相关选项:
XX:只更新已经存在的元素。不要添加新元素。 NX:只添加新元素。不要更新已有的元素。 LT:只有当新分数低于当前分数时,才更新现有元素。这个标志并不妨碍添加新元素。 GT:只有当新分数高于当前分数时,才更新现有元素。这个标志并不能阻止添加新元素。 CH:将返回值从新增元素数调整到被更改元素总数(CH 是 changes 的缩写)。更改元素是指新增元素和已存在且分数已更新的元素。因此,命令行中指定的与过去评分相同的元素不计入。注意:返回值通常只计算新增元素的数量。ZADD INCR:当指定该选项时,表现类似ZINCRBY。此模式下只能指定一对得分元素。ZADD
- zrange 返回指定区间⾥的元素,分数按照升序。带上 WITHSCORES 可以把分数也返回 语法:ZRANGE key start stop [WITHSCORES] 返回值:区间内的元素列表
127.0.0.1:6379> zadd key 10 zhangsan 20 lisi 30 wangwu
3
127.0.0.1:6379> zrange key 0 –1
zhangsan
lisi
wangwu
127.0.0.1:6379> zrange key 0 –1 withscores
zhangsan
10
lisi
20
wangwu
30
127.0.0.1:6379> zadd key nx 40 zhaoliu
1
127.0.0.1:6379> zrange key 0 –1 withscores
zhangsan
10
lisi
20
wangwu
30
zhaoliu
40
127.0.0.1:6379> zadd key nx 45 zhaoliu
0
127.0.0.1:6379> zrange key 0 –1 withscores
zhangsan
10
lisi
20
wangwu
30
zhaoliu
40
127.0.0.1:6379> zadd key xx 50 tainqi
0
127.0.0.1:6379> zrange key 0 –1 withscores
zhangsan
10
lisi
20
wangwu
30
zhaoliu
40
127.0.0.1:6379> zadd key xx 45 zhaoliu
0
127.0.0.1:6379> zrange key 0 –1 withscores
zhangsan
10
lisi
20
wangwu
30
zhaoliu
45
- zcard 获取⼀个 zset 的基数(cardinality),即 zset 中的元素个数 语法:ZCARD key 返回值:zset 内的元素个数
127.0.0.1:6379> zadd key 10 zhangsan 20 lisi 30 wangwu
3
127.0.0.1:6379> zcard key
3
- zcount 返回分数在 min 和 max 之间的元素个数,默认情况下,min 和 max 都是包含的,可以通过 ( 排除 语法:ZCOUNT key min max 返回值:满⾜条件的元素列表个数
127.0.0.1:6379> zrange key 0 –1 withscores
zhangsan
10
lisi
20
wangwu
30
127.0.0.1:6379> zcount key 10 30
3
127.0.0.1:6379> zcount key (10 30
2
- zpopmax 删除并返回分数最⾼的 count 个元素 语法:ZPOPMAX key [count] 返回值:分数和元素列表
- zpopmin 删除并返回分数最低的 count 个元素 语法:ZPOPMIN key [count] 返回值:分数和元素列表
127.0.0.1:6379> zadd key 10 zhangsan 20 lisi 30 wangwu 40 zhaoliuu 50 tianqi
5
127.0.0.1:6379> zrange key 0 –1
zhangsan
lisi
wangwu
zhaoliuu
tianqi
127.0.0.1:6379> zrange key 0 –1 withscores
zhangsan
10
lisi
20
wangwu
30
zhaoliuu
40
tianqi
50
127.0.0.1:6379> zpopmax key 2
tianqi
50
zhaoliuu
40
127.0.0.1:6379> zpopmin key 1
zhangsan
10
- zrank 返回指定元素的排名,升序 语法:ZRANK key member 返回值:排名
- zrevrank 返回指定元素的排名,降序 语法:ZREVRANK key member 返回值:排名
127.0.0.1:6379> zadd key 10 zhangsan 20 lisi 30 wangwu 40 zhaoliuu 50 tianqi
5
127.0.0.1:6379> zrank key lisi
1
127.0.0.1:6379> zrevrank key lisi
3
- zrem 删除指定的元素 语法:ZREM key member [member …] 返回值:本次操作删除的元素个数
127.0.0.1:6379> zrem key zhangsan
1
127.0.0.1:6379> zrange key 0 –1
lisi
wangwu
zhaoliuu
tianqi
- zremrangebyrank 按照排序,升序删除指定范围的元素,左闭右闭 语法:ZREMRANGEBYRANK key start stop 返回值:本次操作删除的元素个数
127.0.0.1:6379> zrange key 0 –1 withscores
lisi
20
wangwu
30
zhaoliuu
40
tianqi
50
127.0.0.1:6379> zremrangebyrank key 1 2
2
127.0.0.1:6379> zrange key 0 –1 withscores
lisi
20
tianqi
50
- zremrangebyscore 按照分数删除指定范围的元素,左闭右闭 语法:ZREMRANGEBYSCORE key min max 返回值:本次操作删除的元素个数
127.0.0.1:6379> zadd key 10 zhangsan 20 lisi 30 wangwu 40 zhaoliuu 50 tianqi
5
127.0.0.1:6379> zremrangebyscore key 20 40
3
127.0.0.1:6379> zrange key 0 –1 withscores
zhangsan
10
tianqi
50
- zinter 交集 语法:ZINTER numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE <SUM | MIN | MAX>] [WITHSCORES]
redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZADD zset2 3 "three"
(integer) 1
redis> ZINTER 2 zset1 zset2
1) "one"
2) "two"
redis> ZINTER 2 zset1 zset2 WITHSCORES
1) "one"
2) "2"
3) "two"
4) "4"
- zunion 并集 语法:ZUNION numkeys key [key …] [WEIGHTS weight [weight …]][AGGREGATE <SUM | MIN | MAX>] [WITHSCORES]
redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZADD zset2 3 "three"
(integer) 1
redis> ZUNION 2 zset1 zset2
1) "one"
2) "three"
3) "two"
redis> ZUNION 2 zset1 zset2 WITHSCORES
1) "one"
2) "2"
3) "three"
4) "3"
5) "two"
6) "4"
- zdiff 差集 语法:ZDIFF numkeys key [key …] [WITHSCORES]
redis> ZADD zset1 1 "one"
(integer) 1
redis> ZADD zset1 2 "two"
(integer) 1
redis> ZADD zset1 3 "three"
(integer) 1
redis> ZADD zset2 1 "one"
(integer) 1
redis> ZADD zset2 2 "two"
(integer) 1
redis> ZDIFF 2 zset1 zset2
1) "three"
redis> ZDIFF 2 zset1 zset2 WITHSCORES
1) "three"
2) "3"
网硕互联帮助中心


评论前必须登录!
注册