3.03-Redis数据类型Set(集合)

博客主要介绍了Redis数据类型Set(集合),其以无序方式存储不同元素,可快速执行添加、移除、检查元素等操作。还详细列举了SADD、SREM、SISMEMBER等常用命令,包括命令格式及功能,并给出了示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis数据类型Set(集合)

Redis的集合使用无序的方式存储各个不相同的元素,用户可以快速地对集合执行添加元素,移除元素,检查一个元素是否存在等操作。

常用命令

SADD

SADD key-name item [item …] 将一个或多个元素添加到集合里面,并返回成功添加的元素数量
例如:

127.0.0.1:6379> sadd s1 1 2  3
(integer) 3
127.0.0.1:6379> sadd s1  1
(integer) 0
SREM

SREM key-name item [item …] 从集合中移除一个或多个元素,并返回被移除元素的数量
例如:

127.0.0.1:6379> srem s1 1 2
(integer) 2
SISMEMBER

SISMEMBER key-name item 检查元素是否存在于集合key-name中
例如:

127.0.0.1:6379> sismember  s1 1
(integer) 0
127.0.0.1:6379> sismember  s1 3
(integer) 1
SCARD

SCARD key-name 返回集合key-name元素数量
例如:

127.0.0.1:6379> scard s1
(integer) 1
SMEMBERS

SMEMBERS key-name 返回集合key-name包含的所有元素
例如:

127.0.0.1:6379> smembers s1
1) "3"
SRANDMEMBER

SRANDMEMBER key-name [count] 从集合中随机返回一个或多个元素,当count为正数时,命令返回的随机数不会重复,当count为负数时,命令返回的随机数元素可能会重复
例如:

127.0.0.1:6379> sadd s1 4 5 6 7 8 9 10
(integer) 7
127.0.0.1:6379> srandmember s1 2
1) "10"
2) "8"
127.0.0.1:6379> srandmember s1 -2
1) "8"
2) "7"
SPOP

SPOP key-name 随机移除集合中的一个元素,并返回移除的元素
例如:

127.0.0.1:6379> spop s1
"3"
127.0.0.1:6379> spop s1
"7"
127.0.0.1:6379> smembers s1
1) "4"
2) "5"
3) "6"
4) "8"
5) "9"
6) "10"
SMOVE

SMOVE source-key dest-key item 将集合source-key中的元素item移动到集合dest-key中,如果移除成功返回1,否则为0(source-key删除item,dest-key添加item)
例如:

127.0.0.1:6379> smove s1 s2 4
(integer) 1
127.0.0.1:6379> smembers s1
1) "5"
2) "6"
3) "8"
4) "9"
5) "10"
127.0.0.1:6379> smembers s2
1) "4"
SDIFF

SDIFF key-name [key-name …]返回存在于第一个集合但不存在于其他集合的元素(差集)
例如:

127.0.0.1:6379> sdiff s1 s2
1) "5"
2) "6"
3) "8"
4) "9"
5) "10"
SDIFFSTORE

SDIFFSTORE dest-key key-name [key-name …]将存在于第一个集合但不存在于其他集合的元素(差集)存储到集合dest-key中
例如:

sdiffstore s3 s1 s2
(integer) 5
127.0.0.1:6379> smembers s3
1) "5"
2) "6"
3) "8"
4) "9"
5) "10"
SINTER

SINTER key-name [key-name …]返回同时存在于集合1,2,…中的元素(交集)
例如:

sinter s1 s3
1) "5"
2) "6"
3) "8"
4) "9"
5) "10"
SINTERSTORE

SINTERSTORE dest-key key-name [key-name …]将同时存在于集合1,2,…中的元素(交集)存储到集合dest-key中
例如:

127.0.0.1:6379> sinterstore s4 s1 s3
(integer) 5
SUNION

SUNION key-name [key-name …]返回集合1,2,…中的所有元素(并集)
例如:

127.0.0.1:6379> sunion s1 s2
1) "4"
2) "5"
3) "6"
4) "8"
5) "9"
6) "10"
SUNIONSTORE

SUNIONSTORE dest-key key-name [key-name …]将集合1,2,…中的所有元素(并集)存储到集合dest-key中
例如:

127.0.0.1:6379> sunionstore s5 s1 s2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值