Redis-08-Redis常用命令-集合类型&有序集合类型操作命令

Redis-08-Redis常用命令-集合类型&有序集合类型操作命令

一:集合 set 操作命令

Redis set是String类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的元素,常用命令。

(1)sadd key member1 [menber2] 向集合添加一个或多个成员

例如:

​ sadd myset a b c d

(2)smembers key 返回集合中的所有成员

例如:

​ smembers myset 返回的是d c a b,是无序的

​ 然后sadd myset a b

​ 然后smembers myset 返回的还是那四个元素

(3) scard key 获取集合的成员数

例如:

​ scard myset 返回4,说明里面有4个成员

Snipaste_2024-06-25_16-28-13

(4) sinter key1 [key2] 返回给定所有集合的交集

例如:

​ 在插入一个集合sadd myset2 a b x

​ sinter myset myset2 返回a b ,这是这两个集合共同拥有的元素

Snipaste_2024-06-25_16-30-03

(5) sunion key1 [key2] 返回所有给定集合的并集

例如:

​ sunion myset myset2 返回了a b c d x y,这是这两个集合的并集

Snipaste_2024-06-25_16-30-24

(6) sdiff key1 [key2] 返回给定所有集合的差集

例如:

​ sdiff myset myset2 返回d c,只能从myset里面去取元素

​ sdiff myset2 myset 返回x y,只能从myset2里面去取元素

​ 这个命令后面的参数是是有前后顺序的

Snipaste_2024-06-25_16-32-09

(7) srem key member1 [member2] 移除集合中一个或多个成员

例如:

​ rem:remove

​ srem myset a b c 返回3,表示移除了3个元素

​ smembers myset只剩下一个d了

Snipaste_2024-06-25_16-33-01

二:有序集合 sorted set 操作命令

Redis sorted set有序集合是String类型元素的集合,且不允许重复的成员。每个元素都会关联一个double类型的分数(score)。Redis正是通过分数来为集合中的成员进行从小到大排序。有序集合的成员是唯一的,但分数却可以重复。

常用命令:

(1)zadd key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数

​ 例如:

​ zdd myset3 10.0 a 9.0 b

(2)zrange key start stop [withscores] 通过索引区间返回有序集合中指定区间内的成员

​ 例如:

​ zrange myset3 0 -1 返回b a,从小到大排

​ 再添加一个zadd myset3 9.9 c

​ zrange myset3 0 -1 返回b c a,正确

​ withscores:返回元素的同时可以来指定他们所对应的分数

​ zrange myset3 0 -1 withscores 返回b 9.0 c 9.90000000004 a 10.0

(3)zincrby key increment member 有序集合中对指定成员的分数加上增量increment

​ 例如:

​ zincrby myset3 20 b 返回29,返回修改后的分值

​ zrange myset3 0 -1 withscores 返回c 9.9000000004 a 10.0 b 29.0

(4)zrem key member [member ...] 移除有序集合中的一个或多个成员

​ 例如:

​ zrem myset3 b

​ zrange myset3 0 -1 返回c a

member [member …]` 移除有序集合中的一个或多个成员

​ 例如:

​ zrem myset3 b

​ zrange myset3 0 -1 返回c a

Snipaste_2024-06-25_16-55-34

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值