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不是集合類型時,返回一個錯誤


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM