1. Set集合是String类型的无序集合。集合中的成员是唯一的, 这就意味着集合中不能出现重复的数据, 根据集合内成员的唯一性, 第二次插入的相同成员将被忽略。Set是通过哈希表实现的, 所以添加、删除、查找的复杂度都是O(1)。集合中最大的成员数为(4294967295, 每个集合可存储40多亿个成员)。

2. 向集合添加一个或多个成员

2.1. 语法: sadd key member1 [member2]。

2.2. sadd命令将一个或多个成员加入到集合中, 已经存在于集合的成员将被忽略。假如集合key不存在, 则创建一个包含所有成员的集合。当给定key不是集合类型时, 返回一个错误。

2.3. 返回被添加到集合中的新成员的数量, 不包括被忽略的成员。

2.4. 实例

3. 返回集合中的所有成员

3.1. 语法: smembers key。

3.2. smembers命令返回集合中的所有成员。不存在的给定key集合被视为空集合。

3.3. 返回集合中的所有成员。

3.4. 实例

4. 获取集合的成员数

4.1. 语法: scard key。

4.2. scard命令返回集合中的成员数量。

4.3. 返回集合的成员数量。当集合key不存在时, 返回0。

4.4. 实例

5. 判断成员是否是集合的成员

5.1. 语法: sismember key member。

5.2. sismember命令判断成员是否是集合的成员。

5.3. 如果成员是集合的成员, 返回1。如果成员不是集合的成员或key不存在, 返回0。

5.4. 实例

6. 返回第一个集合与其他集合之间的差异

6.1. 语法: sdiff key1 [key2]。

6.2. sdiff命令返回第一个集合与其他集合之间的差异, 也可以认为说第一个集合中独有的成员。不存在的集合key将视为空集。差集的结果来自前面的first_key, 而不是后面的other_key1, 也不是整个first_key other_key1..other_keyn的差集。

6.3. 返回包含差集的成员列表。

6.4. 实例

7. 第一个集合与其他集合之间的差异存储在destination集合

7.1. 语法: sdiffstore destination key1 [key2]。

7.2. sdiffstore命令将第一个集合与其他集合之间的差异存储在destination集合中。如果指定的destination这个集合已存在, 则清空它的成员, 添加新成员。

7.3. 返回储存差集的集合的成员数量。

7.4. 实例

8. 返回所有给定集合的交集

8.1. 语法: sinter key1 [key2]。

8.2. sinter命令返回所有给定集合的交集。不存在的集合key被视为空集。当给定集合当中有一个空集时, 结果也为空集(根据集合运算定律)。

8.3. 返回包含交集的成员列表。

8.4. 实例

9. 所有给定集合的交集存储在destination集合

9.1. 语法: sinterstore destination key1 [key2]。

9.2. sinterstore命令将所有给定集合的交集存储在指定的集合中。如果指定的集合已经存在, 则清空它的成员, 添加新成员。

9.3. 返回存储交集的集合的成员数量。

9.4. 实例

10. 返回所有给定集合的并集

10.1. 语法: sunion key1 [key2]。

10.2. sunion命令返回所有给定集合的并集。不存在的集合key被视为空集。

10.3. 返回包含并集的成员列表。

10.4. 实例

11. 所有给定集合的并集存储在destination集合中

11.1. 语法: sunionstore destination key1 [key2]。

11.2. sunionstore命令将所有给定集合的并集存储在指定的集合destination中。如果 destination已经存在,则清空它的成员, 添加新成员。

11.3. 返回存储并集的集合的成员数量。

11.4. 实例

12. 移除集合中一个或多个成员

12.1. 语法: srem key member1 [member2]。

12.2. srem命令用于移除集合中的一个或多个成员, 不存在的成员会被忽略。当key不是集合类型, 返回一个错误。

12.3. 返回被成功移除的成员的数量, 不包括被忽略的成员。

12.4. 实例

13. 将成员从source集合移动到destination集合

13.1. 语法: smove source destination member。

13.2. smove命令将指定成员member从source集合移动到destination集合中。如果source集合不存在或不包含指定的member成员, 则smove命令不执行任何操作, 仅返回0。否则, member成员从source集合中被移除, 并添加到destination集合中, 返回1。当destination集合已经包含member成员时, smove命令只是简单地将source集合中的member成员删除, 此时也返回1。当source或destination不是集合类型时, 返回一个错误。

13.3. 如果成员被成功移除, 返回1。如果成员不是source集合的成员, 那么返回0。

13.4. 实例

007_Redis的Set数据类型相关推荐

  1. Postman使用Date数据类型,Postman发送Date类型数据,Postman模拟前端调用

    Postman使用Date数据类型: 在form-data数据类型下,使用 2021/7/7 11:11:00 (yyyy/MM/dd HH:mm:ss) 的数据格式即可 如下: 在json数据格式中 ...

  2. 大数据中用到的新的数据类型bigint、decimal、smallint、tinyint

    在对比oracle数据库和大数据库的时候,发现了几个用以存放数字的新的类型bigint.decimal.smallint.tinyint,为了对比之间的不同,我进行了统计 bigint 可以精确的表示 ...

  3. NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存

    NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...

  4. 【JavaScript总结】JavaScript语法基础:数据类型

    ------>数据类型有哪些? ->基本类型:数字类型,布尔类型,字符串类型 ->引用类型:对象类型,函数类型 ->空类型:null 和 undefined ->运算符: ...

  5. 数据类型对应的字节数

    20210622 https://www.icode9.com/content-4-421680.html 32位和64位常用数据结构所占字节数 20210126 1 2 4 8 1248 刚好都是2 ...

  6. tensorflow2.0 基础一 常用数据类型及转换

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_43619065/arti ...

  7. 深入浅出Redis五种基本数据类型

    文章目录 1.String SDS(Simple Dynamic String) 2.RedisDB设计 3.List 4.Hash 5.Set intset 6.ZSet skiplist 1.St ...

  8. TVM自定义数据类型

    TVM自定义数据类型 本文将介绍"自定义数据类型"框架,该框架可在TVM中使用自定义数据类型. 介绍 在设计加速器时,关键是如何近似地表示硬件中的实数.这个问题具有长期的行业标准解 ...

  9. 自主数据类型:在TVM中启用自定义数据类型探索

    自主数据类型:在TVM中启用自定义数据类型探索 介绍 在设计加速器时,一个重要的决定是如何在硬件中近似地表示实数.这个问题有一个长期的行业标准解决方案:IEEE 754浮点标准.1.然而,当试图通过构 ...

最新文章

  1. Codeforces 894.D Ralph And His Tour in Binary Country
  2. ITK:将BinaryMorphologicalClosingFilter应用于给定LabelMap的一个LabelObject
  3. windbg调试堆破坏
  4. JVM调优系列:(三)类加载和执行机制
  5. java提示找不到或无法加载主类
  6. 剑桥大学的下午茶,为何能喝出六十位诺贝尔奖获得者?
  7. redhat下svn服务器搭建
  8. [JS基础] 之类型判断
  9. 机器视觉:自动织物检测系统
  10. 我来做百科(第七天)
  11. QFIL刷机失败Download Fail:Sahara Fail:QSaharaServer Fail:Process fail
  12. 关于RPY角的旋转顺序问题
  13. rpm 安装 忽略依赖_使用 RPM 安装软件包的常见问题
  14. 计算机网络 一种自上而下的方法,计算机网络-自上而下-和-自下而上-两种教学方法比较分析.pdf...
  15. android 手写笔,微软 Surface Duo 安卓机手写笔功能曝光:自然体验,手势操作
  16. [转载] 深入 superviser
  17. 电角速度和机械角速度
  18. 微信小程序商品详情页底部弹出框(点击加入购物车或立即购买弹出)
  19. 001-SE-0011-网络编程
  20. 脑机接口基础学习06---机器学习算法随机森林判断睡眠类型

热门文章

  1. 计算机网络运输层之多路复用与多路分解
  2. 修改开发环境、工程、文件的字符集
  3. MySQL慢查询处理之mysqldumpslow和mysqlsla
  4. Windows Phone 8.1 Tiles, Notifications and Action Center
  5. Android App“加固”
  6. 找字符串中第一个只出现一次的字符
  7. clientHeight ,offsetHeight,style.height,scrollHeight有区别与联系
  8. 羊皮卷的故事-第十章-羊皮卷之三
  9. VMware vSAN6.7 设计和优化 vSAN 主机--
  10. C#中的var和dynamic