常用命令(Set)
「这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战」
并集、交集、差集-概念
A = {'a', 'b', 'c'}
B = {'a', 'e', 'i', 'o', 'u'}
inter(x, y): 交集,在集合x和集合y中都存在的元素。
inter(A, B) = {'a'}
union(x, y): 并集,在集合x中或集合y中的元素,如果一个元素在x和y中都出现,那只记录一次即可。
union(A,B) = {'a', 'b', 'c', 'e', 'i', 'o', 'u'}
diff(x, y): 差集,在集合x中而不在集合y中的元素。
diff(A,B) = {'b', 'c'}
card(x): 基数,一个集合中元素的数量。
card(A) = 3
空集: 基数为0的集合。
复制代码
sadd-添加元素
作用:向名称为key的set中添加元素member
语法: sadd key member [member ...]
127.0.0.1:6379> sadd users u1
(integer) 1
127.0.0.1:6379> sadd users u2
(integer) 1
127.0.0.1:6379> sadd users u3 u4
(integer) 2
复制代码
smembers-查询所有元素
作用:返回名称为key的set的所有元素
语法: smembers key
127.0.0.1:6379> smembers users
1) "u2"
2) "u4"
3) "u1"
4) "u3"
复制代码
srem-删除元素
作用:删除名称为key的set中的元素member
语法: srem key member [member ...]
127.0.0.1:6379> smembers users
1) "u2"
2) "u4"
3) "u1"
4) "u3"
127.0.0.1:6379> srem users u1
(integer) 1
127.0.0.1:6379> srem users u3 u4
(integer) 2
127.0.0.1:6379> smembers users
1) "u2"
复制代码
sismember-是否存在元素
作用:member是否是名称为key的set的元素
语法: sismember key member
127.0.0.1:6379> smembers users
1) "u2"
127.0.0.1:6379> sismember users u2
(integer) 1
127.0.0.1:6379> sismember users u1
(integer) 0
复制代码
scard-返回元素个数
作用:返回名称为key的set的基数,一个集合中元素的数量。
语法: scard key
127.0.0.1:6379> smembers users
1) "u2"
127.0.0.1:6379> scard users
(integer) 1
复制代码
smove-移动元素到另一集合
作用:将member元素从source集合移动到destination集合
语法:smove source destination member
127.0.0.1:6379> smembers users
1) "u2"
2) "u4"
3) "u1"
4) "u3"
127.0.0.1:6379> smembers blacklist
(empty list or set)
127.0.0.1:6379> smove users blacklist u1
(integer) 1
127.0.0.1:6379> smembers users
1) "u2"
2) "u4"
3) "u3"
127.0.0.1:6379> smembers blacklist
1) "u1"
复制代码
srandmember-随机返回n个元素
作用:随机返回名称为key的set的count个元素
语法: srandmember key [count]
127.0.0.1:6379> smembers users
1) "u2"
2) "u4"
3) "u3"
127.0.0.1:6379> srandmember users
"u3"
127.0.0.1:6379> srandmember users 2
1) "u2"
2) "u3"
复制代码
spop-随机返回n个元素并删除
作用:随机返回并删除名称为key的set中一个元素
语法:spop key [count]
127.0.0.1:6379> smembers users
1) "u2"
2) "u4"
3) "u3"
127.0.0.1:6379> spop users
"u3"
127.0.0.1:6379> smembers users
1) "u2"
2) "u4"
复制代码
sinter-求交集
作用:求交集
语法: sinter key [key ...]
127.0.0.1:6379> smembers group1
1) "3"
2) "2"
3) "4"
4) "1"
5) "a"
127.0.0.1:6379> smembers group2
1) "b"
2) "a"
3) "1"
4) "c"
127.0.0.1:6379> sinter group1 group2
1) "a"
2) "1"
复制代码
sinterstore-求交集结果保存到新集合
作用:求交集并将交集保存到dstkey的集合
语法: sinterstore destination key [key ...]
127.0.0.1:6379> sinterstore group3 group1 group2
(integer) 2
127.0.0.1:6379> smembers group1
1) "3"
2) "4"
3) "1"
4) "2"
5) "a"
127.0.0.1:6379> smembers group2
1) "b"
2) "a"
3) "1"
4) "c"
127.0.0.1:6379> smembers group3
1) "a"
2) "1"
复制代码
sunion-求并集
作用:求并集
语法: sunion key [key ...]
127.0.0.1:6379> sunion group1 group2
1) "3"
2) "4"
3) "1"
4) "2"
5) "b"
6) "a"
7) "c"
复制代码
sunionstore-求并集结果保存到新集合
作用:求并集并将并集保存到dstkey的集合
语法:sunionstore destination key [key ...]
127.0.0.1:6379> sunionstore group4 group1 group2
(integer) 7
127.0.0.1:6379> smembers group4
1) "3"
2) "4"
3) "1"
4) "2"
5) "b"
6) "a"
7) "c"
复制代码
sdiff-求差集
作用:求差集
语法: sdiff key [key ...]
127.0.0.1:6379> smembers group1
1) "3"
2) "4"
3) "1"
4) "2"
5) "a"
127.0.0.1:6379> smembers group2
1) "b"
2) "a"
3) "1"
4) "c"
127.0.0.1:6379> sdiff group1 group2
1) "2"
2) "3"
3) "4"
复制代码
sdiffstore-求差集结果保存到新集合
作用:求差集并将差集保存到dstkey的集合
语法: sdiffstore destination key [key ...]
127.0.0.1:6379> sdiffstore group5 group1 group2
(integer) 3
127.0.0.1:6379> smembers group5
1) "2"
2) "3"
3) "4"
复制代码
redis分布式缓存系列
- redis分布式缓存(一)一一 redis安装(linux和docker)
- redis分布式缓存(二)一一 RDB和AOF
- redis分布式缓存(三)一一 SpringBoot集成Mybatis-Plus,Redis和Swagger
- redis分布式缓存(四)一一 SpringCache集成Redis
- redis分布式缓存(五)一一 常用命令(String)
- redis分布式缓存(六)一一 文章的阅读量PV解决方案
- redis分布式缓存(七)一一 分布式全局id解决方案
- redis分布式缓存(八)一一 高并发原子性操作(Redis+Lua)
- redis分布式缓存(九)一一 黑客防刷攻击解决方案
- redis分布式缓存(十)一一 常用命令(Hash)
- redis分布式缓存(十一)一一 储存java bean对象业务剖析
- redis分布式缓存(十二)一一 短链接解决方案
- redis分布式缓存(十三)一一 京东购物车解决方案
- redis分布式缓存(十四)一一 分布式session不一致性解决方案
- redis分布式缓存(十五)一一 高可用的用户注册解决方案
- redis分布式缓存(十六)一一 用户发微博解决方案
- 文章持续更新中...




近期评论