Redis 集合(set)命令詳解

2021-09-26 07:18:48 字數 2559 閱讀 2524

向集合新增乙個或多個成員:sadd 命令將乙個或多個成員元素加入到集合中,已經存在於集合的成員元素將被忽略。假如集合 key 不存在,則建立乙個只包含新增的元素作成員的集合。當集合 key 不是集合型別時,返回乙個錯誤。

返回值:被新增到集合中的新元素的數量,不包括被忽略的元素。

返回集合中的所有成員:smembers 命令返回集合中的所有的成員。 不存在的集合 key 被視為空集合。

返回值:集合中的所有成員

獲取集合的成員數

返回值:集合的數量。 當集合 key 不存在時,返回 0 。

判斷 member 元素是否是集合 key 的成員

返回值:如果成員元素是集合的成員,返回 1 。 如果成員元素不是集合的成員,或 key 不存在,返回 0 。

返回集合中乙個或多個隨機數

返回值:只提供集合 key 引數時,返回乙個元素;如果集合為空,返回 nil 。 如果提供了 count 引數,那麼返回乙個陣列;如果集合為空,返回空陣列。

將 member 元素從 source 集合移動到 destination 集合。

返回值:如果成員元素被成功移除,返回 1 。 如果成員元素不是 source 集合的成員,並且沒有任何操作對 destination 集合執行,那麼返回 0 。

移除並返回集合中的乙個隨機元素。

返回值:被移除的隨機元素。 當集合不存在或是空集時,返回 nil 。

移除集合中乙個或多個成員。

返回值:被成功移除的元素的數量,不包括被忽略的元素

返回給定所有集合的差集

返回值:包含差集成員的列表。

redis sdiff 命令返回給定集合之間的差集。不存在的集合 key 將視為空集。

差集的結果來自前面的 first_key ,而不是後面的 other_key1,也不是整個 first_key other_key1…other_keyn 的差集。

例項:

key1 =

返回給定所有集合的差集並儲存在 destination 中.redis sdiffstore 命令將給定集合之間的差集儲存在指定的集合中。如果指定的集合 key 已存在,則會被覆蓋。

返回給定所有集合的交集

redis sinter 命令返回給定所有給定集合的交集。 不存在的集合 key 被視為空集。 當給定集合當中有乙個空集時,結果也為空集(根據集合運算定律)。

返回值:交集成員的列表。

返回給定所有集合的交集並儲存在 destination 中.

redis sinterstore 命令將給定集合之間的交集儲存在指定的集合中。如果指定的集合已經存在,則將其覆蓋。

返回值:返回儲存交集的集合的元素數量。

返回所有給定集合的並集

redis sunion 命令返回給定集合的並集。不存在的集合 key 被視為空集。

返回值:並集成員的列表

所有給定集合的並集儲存在 destination 集合中.

redis sunionstore 命令將給定集合的並集儲存在指定的集合 destination 中。如果 destination 已經存在,則將其覆蓋。

返回值:結果集中的元素數量。

redis之set 集合命令詳解

集合的性質 唯一性,無序性,確定性 注 在string和link的命令中,可以通過range 來訪問string中的某幾個字元或某幾個元素 但,因為集合的無序性,無法通過下標或範圍來訪問部分元素.因此想看元素,要麼隨機先乙個,要麼全選 作用 往集合key中增加元素 redis sadd k v1 i...

Redis 集合 Set)命令

redis的set是string型別的無序集合。集合成員是唯一的,意味著集合中不能出現重複的資料。redis中集合是通過雜湊表實現的,所以刪除,新增,查詢的複雜度都是o 1 命令 描述sunion 返回所有給定集合的並集 scard 獲取集合的成員數 srandmember 返回集合中乙個或多個隨機...

Redis 集合 Set 及集合命令

redis 集合 set redis 的 set 是 string 型別的無序集合。集合成員是唯一的,這就意味著集合中不能出現重複的資料。redis 中集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是 o 1 集合中最大的成員數為 232 1 4294967295,每個集合可儲存40多億個成...