前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis常用数据类型——set十三个常用命令【这一篇就够了】

Redis常用数据类型——set十三个常用命令【这一篇就够了】

作者头像
掉发的小王
发布2022-07-11 15:13:23
5590
发布2022-07-11 15:13:23
举报
文章被收录于专栏:小王知识分享小王知识分享

一、前言

Redis的set相当于Java语言里面的HashSet,它内部键值对是无序的、唯一的。它的内部实现相当于一个特殊的字典,字典中所有的value都是一个值NULL。

还有相关命令有需要的可以看一下

Redis中的Hash类型12个常用命令(图文例子) Redis中的String类型常用方法(图文例子) Redis常用数据类型——list九大常用命令(图文例子)

二、sadd命令

作用:向set中添加元素,可以一次添加多个 格式:sadd key member [member ...]

举例

代码语言:javascript
复制
127.0.0.1:6379> sadd student xiaoming
(integer) 1
## 查看set中所有的元素
127.0.0.1:6379> smembersstudent
1) "xiaoming"
127.0.0.1:6379> sadd student xiaohong xiaoliang
(integer) 2
## 查看set中所有的元素
127.0.0.1:6379> smembers student
1) "xiaoliang"
2) "xiaoming"
3) "xiaohong"

三、smembers 命令

作用:获取set集合中所有的元素 格式:smembers key

举例

代码语言:javascript
复制
127.0.0.1:6379> smembers student
1) "xiaoliang"
2) "xiaoming"
3) "xiaohong"

四、srem命令

作用:删除set集合中的元素,可以一次删除多条 格式:srem key member [member ...]

举例

代码语言:javascript
复制
127.0.0.1:6379> smembers student
1) "xiaoliang"
2) "xiaoming"
3) "xiaohong"
127.0.0.1:6379> srem student xiaoming
(integer) 1
127.0.0.1:6379> smembers student
1) "xiaoliang"
2) "xiaohong"

五、scard命令

作用:获取set集合中元素的个数 格式: scard key

举例

代码语言:javascript
复制
127.0.0.1:6379> smembers student
1) "xiaoliang"
2) "xiaohong"
127.0.0.1:6379> scard student
(integer) 2

六、spop命令

作用:输入的元素个数,并随机删除返回删除的元素 格式:spop key [count]

举例

代码语言:javascript
复制
127.0.0.1:6379> smembers student
1) "xiaoliang"
2) "4"
3) "2"
4) "3"
5) "1"
127.0.0.1:6379> spop student 2
1) "4"
2) "2"
127.0.0.1:6379> smembers student
1) "xiaoliang"
2) "3"
3) "1"

七、sismember命令

作用:判断元素是否在集合中,存在返回1,否则返回0 格式: sismember key member

举例

代码语言:javascript
复制
127.0.0.1:6379> smembers student
1) "xiaoliang"
2) "3"
3) "1"
127.0.0.1:6379> sismember student xiaoliang
(integer) 1
127.0.0.1:6379> sismember student xiaoliang1
(integer) 0

八、sdiff命令

作用:求两个set集合的差集,返回第一个set里面的元素,而不在后面任何set集合里面的元素(求前面的set) 格式: sdiff key [key ...]

举例

代码语言:javascript
复制
127.0.0.1:6379> smembers student
1) "xiaoliang"
2) "3"
3) "1"
127.0.0.1:6379> smembers student1
1) "xiaoliang"
2) "4"
3) "2"
4) "1"
5) "5"
127.0.0.1:6379> sdiff student student1
1) "3"
127.0.0.1:6379> sdiff student1 student
1) "2"
2) "4"
3) "5"

九、sdiffstore命令

作用:求差集,同上的解释,比上面多的就是把求得差集保存在另一个set集合中 格式:sdiffstore destination key [key ...]

举例

代码语言:javascript
复制
127.0.0.1:6379> sdiffstore student2 student1 student
(integer) 3
127.0.0.1:6379> smembers student2
1) "2"
2) "4"
3) "5"

十、sinter命令

作用:求两个set集合的交集元素 格式:sinter key [key ...]

举例

代码语言:javascript
复制
127.0.0.1:6379> smembers student
1) "xiaoliang"
2) "3"
3) "1"
127.0.0.1:6379> smembers student1
1) "xiaoliang"
2) "4"
3) "2"
4) "1"
5) "5"
127.0.0.1:6379> sinter student student1
1) "xiaoliang"
2) "1"

十一、sinterstore命令

作用:求两个set集合的交集元素,并保存到另外的set集合中 格式:sinterstore destination key [key ...]

举例

代码语言:javascript
复制
127.0.0.1:6379> sinterstore student3 student1 student
(integer) 2
127.0.0.1:6379> smembers student3
1) "xiaoliang"
2) "1"

十二、sunion命令

作用:求两个set集合的并集 格式: sunion key [key ...]

举例

代码语言:javascript
复制
127.0.0.1:6379> smembers student
1) "xiaoliang"
2) "3"
3) "1"
127.0.0.1:6379> smembers student1
1) "xiaoliang"
2) "4"
3) "2"
4) "1"
5) "5"
127.0.0.1:6379> sunion student student1
1) "xiaoliang"
2) "4"
3) "2"
4) "3"
5) "1"
6) "5"

十三、sunionstore命令

作用:求两个set集合的并集,并保存到另外的set集合中 格式: sunionstore destination key [key ...]

举例

代码语言:javascript
复制
127.0.0.1:6379> sunionstore student4 student1 student
(integer) 6
127.0.0.1:6379> smembers student4
1) "xiaoliang"
2) "4"
3) "2"
4) "3"
5) "1"
6) "5"

十四、smove命令

作用:移动元素从源set集合移动到目标set集合中 格式: smove source destination member 参数解释: source :源set集合 destination: 目标set集合 member:要要移动的值

举例

代码语言:javascript
复制
## 把元素3从student 集合中移动到student1中
127.0.0.1:6379> smove student student1 3
(integer) 1
127.0.0.1:6379> smembers student
1) "xiaoliang"
2) "1"
127.0.0.1:6379> smembers student1
1) "xiaoliang"
2) "4"
3) "2"
4) "3"
5) "1"
6) "5"

Q.E.D.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、sadd命令
  • 三、smembers 命令
  • 四、srem命令
  • 五、scard命令
  • 六、spop命令
  • 七、sismember命令
  • 八、sdiff命令
  • 九、sdiffstore命令
  • 十、sinter命令
  • 十一、sinterstore命令
  • 十二、sunion命令
  • 十三、sunionstore命令
  • 十四、smove命令
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档