Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

实例:

redis 127.0.0.1:6379> SADD runoobkey redis
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mongodb
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mysql
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mysql
(integer) 0
redis 127.0.0.1:6379> SMEMBERS runoobkey1) "mysql"
2) "mongodb"
3) "redis"

1、Set常用命令

1.1、SADD

127.0.0.1:6379> sadd myset "hello"  //set集合添加元素
(integer) 1
127.0.0.1:6379> sadd myset "lizhengi"
(integer) 1
127.0.0.1:6379> sadd myset "world"
(integer) 1
127.0.0.1:6379> SMEMBERS myset   //查看指定set所有值
1) "world"
2) "lizhengi"
3) "hello"
127.0.0.1:6379> SISMEMBER myset hello    //判断某个值是否在set中
(integer) 1
127.0.0.1:6379> SISMEMBER myset hh
(integer) 0

1.2、scard

127.0.0.1:6379> scard myset   //获取set长度
(integer) 3

1.3、srem

127.0.0.1:6379> SMEMBERS myset
1) "world"
2) "lizhengi"
3) "hello"
127.0.0.1:6379> srem myset hello world   //移除set集合中指定一些元素
(integer) 2
127.0.0.1:6379> scard myset
(integer) 1
127.0.0.1:6379> SMEMBERS myset
1) "lizhengi"
127.0.0.1:6379>

1.4、SRANDMEMBER

127.0.0.1:6379> SRANDMEMBER myset //随机抽出set集合的一个元素
"hello"
127.0.0.1:6379> SRANDMEMBER myset
"world"
127.0.0.1:6379>

1.5、SPOP

127.0.0.1:6379> SMEMBERS myset
1) "adsa"
2) "world"
3) "lizhengi"
4) "hello"
127.0.0.1:6379> SPOP myset   //随机删除set集合某些元素
"lizhengi"
127.0.0.1:6379> SPOP myset
"hello"
127.0.0.1:6379> SMEMBERS myset
1) "adsa"
2) "world"
127.0.0.1:6379>

1.6、SMOVE

127.0.0.1:6379> SMEMBERS myset
1) "adsa"
2) "world"
127.0.0.1:6379> sadd myset2 "adsa"
(integer) 1
127.0.0.1:6379> SMEMBERS myset
1) "adsa"
2) "world"
127.0.0.1:6379> SMEMBERS myset2
1) "adsa"
127.0.0.1:6379> SMOVE myset myset2 "world" //移动指定元素到另外一个集合
(integer) 1
127.0.0.1:6379> SMEMBERS myset
1) "adsa"
127.0.0.1:6379> SMEMBERS myset2
1) "adsa"
2) "world"
127.0.0.1:6379> 

1.7、SDIFF 、SINTER、SUNION

127.0.0.1:6379> SMEMBERS myset
1) "adsa"
2) "aadsa"
127.0.0.1:6379> SMEMBERS myset2
1) "adsa"
2) "world"
127.0.0.1:6379> SDIFF myset myset2   //差集
1) "aadsa"
127.0.0.1:6379> SINTER myset myset2  //交集
1) "adsa"
127.0.0.1:6379> SUNION myset myset2  //并集
1) "adsa"
2) "world"
3) "aadsa"

Redis(六):Set集合数据类型详解相关推荐

  1. Redis(八):Zset有序集合数据类型详解

    Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员进行从小到大的排序. 有序 ...

  2. Redis(五):List集合数据类型详解

    Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个 ...

  3. Dart学习笔记六:集合类型详解

    目录 前言 List Set Map 集合的遍历 forEach map where any every 前言 Dart的集合类型使用感觉跟ES6中的集合差不多,这里整理一下Dart集合的常用属性和方 ...

  4. Redis数据类型详解(五种)

    Redis支持五种数据类型,即string(字符串).hash(哈希).list(列表).set(集合)及zset(sorted set:有序集合),云吞铺子分享Redis数据类型谅解: Redis数 ...

  5. redis 数据类型详解 以及 redis适用场景场合

    redis 数据类型详解 以及 redis适用场景场合 1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访 ...

  6. Redis入门 - 数据类型:5种基础数据类型详解

    Redis所有的key(键)都是字符串.我们在谈基础数据结构时,讨论的是存储值的数据类型,主要包括常见的5种数据类型,分别是:String.List.Set.Zset.Hash Redis入门 - 数 ...

  7. Redis系列教程(二):详解Redis的存储类型、集群架构、以及应用场景

    高并发架构系列 高并发架构系列:数据库主从同步的3种一致性方案实现,及优劣比较 高并发架构系列:Spring Cloud的核心成员.以及架构实现详细介绍 高并发架构系列:服务注册与发现的实现原理.及实 ...

  8. python六大数据类型详解

    python 六大数据类型详解 文章目录 python 六大数据类型详解 数据类型简介 Number(数值) String(字符串) Python字符串的45个方法详解 一.大小写转换 01.capi ...

  9. MySQL数据库,从入门到精通:第十二篇——MySQL数据类型详解

    MySQL数据库,从入门到精通:第十二篇--MySQL数据类型详解 第 12 章_MySQL数据类型精讲 1. MySQL中的数据类型 2. 整数类型 2. 1 类型介绍 2. 2 可选属性 2. 2 ...

最新文章

  1. java 注解继承注解_Java注解合并,注解继承
  2. 脑科学与脑电基础知识汇总
  3. mysql定期执行备份语句_【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件...
  4. cpu百分比linux,Linux:cpu使用百分比的计算
  5. web.xml中配置web监听器
  6. Ubuntu Linux系统环境变量配置文件
  7. H哥亲测可用!一个点外卖省钱的小技巧!
  8. java数组写99乘法表,Java 实现乘法口诀(99乘法表)
  9. pppoe路由桥混合模式启用_无线路由器怎么设置
  10. 常用设计模式的小结和实际中的应用
  11. 关于EL表达式中requestScope和param区别
  12. Jetson Nano 读取 GPS数据(TTL转 USB)
  13. GIS+区块链,地理空间数据新型应用场景未来可期
  14. Matlab实现GM(1,1)模型(源代码)
  15. 0014 UVA1589 象棋 Xiangqi
  16. Spyder窗口布局调整
  17. 在水晶报表中实现任意选择指定字段显示 (阿泰)
  18. 火影忍者ol HTML5,火影忍者OL-官方网站-腾讯游戏
  19. 7-24 程序改错题3 (5 分)
  20. Centos7静默安装Oracle11gR2

热门文章

  1. activiti动态办理人_安全生产许可证办理相关问题
  2. C语言 vprintf 函数 - C语言零基础入门教程
  3. C语言 #运算符 - C语言零基础入门教程
  4. docker停止信号java_docker容器优雅停止
  5. c语言贪吃蛇黑方框,[求助][贪吃蛇]源程序,请教其中一个问题。
  6. gcc编译器java_「gcc编译器下载」gcc编译器下载各版本下载 - seo实验室
  7. 用python做简单的地理聚类分析案例_用Python做一个简单的翻译工具
  8. python函数后面两个括号_简单了解为什么python函数后有多个括号
  9. python中format函数用法简书_增强的格式化字符串format函数
  10. 转转钓鱼php,最新转转钓鱼源码程序网站微信:mm88wk 最新转转源码 - 下载 - 搜珍网...