Redis五大基本类型-Set

set

set是一个无序的且不重复的集合

添加与查看元素

127.0.0.1:6379> sadd myset hello # 在myset中添加元素
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 1
127.0.0.1:6379> sadd myset redis
(integer) 1
127.0.0.1:6379> smembers myset # 查看myset中的值
1) "redis"
2) "hello"
3) "world"

判断元素是否存在与统计set中元素的个数

127.0.0.1:6379> sismember myset hello # 判断myset中是否存在hello,存在为1,不存在为0
(integer) 1
127.0.0.1:6379> sismember myset java
(integer) 0
127.0.0.1:6379> scard myset # 查看myset中总共有多少个元素
(integer) 3
127.0.0.1:6379> sadd myset java
(integer) 1
127.0.0.1:6379> scard myset
(integer) 4

移除set中指定的元素

127.0.0.1:6379> srem myset hello # 移除myset中的hello元素
(integer) 1
127.0.0.1:6379> scard myset
(integer) 3
127.0.0.1:6379> smembers myset
1) "redis"
2) "java"
3) "world"

随机选取myset中的元素

127.0.0.1:6379> srandmember myset # 随机选取一个元素
"java"
127.0.0.1:6379> srandmember myset
"java"
127.0.0.1:6379> srandmember myset
"redis"
127.0.0.1:6379> srandmember myset 2 # 随机选取指定个数的元素
1) "world"
2) "java"
127.0.0.1:6379> srandmember myset 2
1) "redis"
2) "java"

随机移除set中的元素

127.0.0.1:6379> smembers myset
1) "hello"
2) "redis"
3) "java"
4) "world"
127.0.0.1:6379> spop myset # 随机移除一个元素
"hello"
127.0.0.1:6379> spop myset 2 # 随机移除多个元素
1) "java"
2) "redis"
127.0.0.1:6379> smembers myset
1) "world"

讲一个集合中的元素移动到另一个集合

127.0.0.1:6379> sadd myset hello
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 1
127.0.0.1:6379> sadd myset love
(integer) 1
127.0.0.1:6379> sadd myset2 you
(integer) 1
127.0.0.1:6379> smove myset myset2 love # 将myset中的love移动到myset2中
(integer) 1
127.0.0.1:6379> smembers myset
1) "hello"
2) "world"
127.0.0.1:6379> smembers myset2
1) "love"
2) "you"

set集合做差集、交集、并集

127.0.0.1:6379> sadd myset a
(integer) 1
127.0.0.1:6379> sadd myset b
(integer) 1
127.0.0.1:6379> sadd myset c
(integer) 1
127.0.0.1:6379> sadd myset2 c
(integer) 1
127.0.0.1:6379> sadd myset2 d
(integer) 1
127.0.0.1:6379> sadd myset2 e
(integer) 1
127.0.0.1:6379> sdiff myset myset2 # 差集
1) "a"
2) "b"
127.0.0.1:6379> sinter myset myset2 # 交集
1) "c"
127.0.0.1:6379> sunion myset myset2 # 并集
1) "a"
2) "b"
3) "c"
4) "e"
5) "d"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值