• redis集合数据类型---SET


    一、概述

    1. redis的set是string类型的无序集合
    2. 集合成员是唯一的,这就意味着集合中不能出现重复的数据。
    3. 集合中最大的成员数为2^32-1(4294967295,每个集合可存储40多亿个成员)

    二、键的设置

    • 命令名称:sadd
    • 语法:sadd key member [member……]
    • 功能:
      • 将一个或多个member元素加入到集合key当中,已经存在于集合中的member元素将被忽略。
      • 假如key不存在,则创建一个只包含member元素做成员的集合。
      • 当key不是集合类型时,返回一个错误。
    • 返回值:
      • 被添加到集合中的新元素的数量,不包括被忽略的元素

    三、键的查询

    • 命令名称:scard
    • 语法:scard key
    • 功能:
      • 返回集合key的基数(集合中元素的数量)。
    • 返回值:
      • 集合的基数。
      • 如果key不存在时,返回0
    • 命令名称:smembers
    • 语法:smembers key
    • 功能:
      • 返回集合key的所有成员。
      • 不存在的key被视为空集合
    • 返回值:
      • 集合中的所有成员
    • 命令名称:sismember
    • 语法:sismember key member
    • 功能:
      • 判断member元素是否集合key的成员
    • 返回值:
      • 如果member元素是集合的成员,返回1.
      • 如果member元素不是集合的成员,或key不存在,返回0
    • 命令名称:srandmember
    • 语法:srandmember key [count]
    • 功能:
      • 如果执行命令时,只提供了key参数,那么返回集合中的一个随机元素。
    • 返回值:
      • 只提供key参数是,返回一个元素;如果集合为空,返回你了。
      • 如果提供了count参数,那么返回一个数组;如果集合为空,返回空数组
    • 命令名称:sscan
    • 语法:sscan key cursor [MATCH pattern] [COUNT count]
    • 功能:
      • 用于迭代集合中的元素。
    • 返回值:
      • 集合成员

    四、键之间的关系

    • 命令名称:sdiff
    • 语法:sdiff key [key……]
    • 功能:
      • 返回一个集合的全部成员,该集合是所有给定集合之间的差集。
      • 不存在的key被视为空集。
    • 返回值:
      • 一个包含差集成员的列表,返回第一个key中的
    • 命令名称:sdiffstore
    • 语法:SDIFFSTORE destination key [key ...]
    • 功能:
      • 这个命令的作用和sdiff类似,但它将结果保存到destination集合中,而不是简单地返回结果集。
      • 如果destination集合已经存在,则将其覆盖。
      • destination可以是key本身
    • 返回值:
      • 结果集中的元素数量
    • 命令名称:sinter
    • 语法:sinter key [key ...]
    • 功能:
      • 返回一个集合的全部成员,该集合是所有给定集合的交集。
      • 不存在的key被视为空集。
      • 当给定集合当中有一个空集是,结果也为空集
    • 返回值:
      • 交集成员的列表
    • 命令名称:sinterstore
    • 语法:sinterstore destination key [key ...]
    • 功能:
      • 这个命令的作用和sinterstore类似,但它将结果保存到destination集合中,而不是简单地返回结果集。
      • 如果destination集合已经存在,则将其覆盖。
      • destination可以是key本身
    • 返回值:
      • 结果集中的元素数量
    • 命令名称:sunion
    • 语法:sunion key [key ...]
    • 功能:
      • 返回一个集合的全部成员,该集合是所有给定集合的并集。
      • 不存在的key被视为空集
    • 返回值:
      • 并集成员的列表
    • 命令名称:sunionstore
    • 语法:sunion destination key [key ...]

    五、删除

    • 命令名称:spop
    • 语法:spop key
    • 功能:
      • 移除并返回集合中的一个随机元素
    • 返回值:
      • 被移除的随机元素。
      • 当key不存在或key是空集时,返回nil
    • 命令名称:srem
    • 语法:sunion key member [member ...]
    • 功能:
      • 移除集合key中的一个或多个member元素,不存在的member元素会被忽略。
      • 当key不是集合类型,返回一个错误
    • 返回值:
      • 被成功移除的元素的数量,不包括被忽略的元素
    • 命令名称:smove
    • 语法:smove source destination member
    • 功能:
      • 将member元素从source集合移动到destination集合。
      • smove是原子性操作。
      • 如果source集合不存在或不包含指定的member元素,则smove命令不执行任何操作,仅返回0。
      • 当destination集合已经包含member元素时,smove命令只是简单的将source集合中的member元素删除
    • 返回值:
      • 如果member元素被成功删除,返回1。
      • 如果member元素不是source集合的成员,并且没有任何操作对destination集合执行,那么返货0。
      • 当source或destination不是集合类型时,返回一个错误
  • 相关阅读:
    Git学习-创建版本库
    使用Vim编辑器,如何退出
    设置既定目录的命令提示符
    字符数组和字符串
    一波杂乱的分享
    全国软件设计大赛C/C++语言练习
    HDU 1720、1062、2104、1064、2734、1170、1197、2629
    hdu 2000-2010 ACM
    HDU——算法练习1000 1089-1096
    爬虫学习笔记之为什么要设置超时时间,怎么设置(使用selenium)
  • 原文地址:https://www.cnblogs.com/lxhyty/p/11393908.html
Copyright © 2020-2023  润新知