整理 Redis學習 set指令清單(六)

2021-10-01 09:57:42 字數 2351 閱讀 9831

set 是 string 型別的無序集合。集合成員是唯一的,這就意味著集合中不能出現重複的資料。

redis 中集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是 o(1)。

集合中最大的成員數為 232 - 1 (4294967295, 每個集合可儲存40多億個成員)。

sadd key member [member ...]
將乙個或多個成員元素加入到集合中,已經存在於集合的成員元素將被忽略。

smembers key
返回集合中的所有的成員

sscan key cursor [match pattern] [count count]
用於迭代集合中鍵的元素

相關介紹:

scan 命令用於迭代當前資料庫中的資料庫鍵。

sscan 命令用於迭代集合鍵中的元素。

hscan 命令用於迭代雜湊鍵中的鍵值對。

zscan 命令用於迭代有序集合中的元素(包括元素成員和元素分值)。

scan 命令是乙個基於游標的迭代器(cursor based iterator): scan 命令每次被呼叫之後, 都會向使用者返回乙個新的游標, 使用者在下次迭代時需要使用這個新游標作為 scan 命令的游標引數, 以此來延續之前的迭代過程。

當 scan 命令的游標引數被設定為 0 時, 伺服器將開始一次新的迭代, 而當伺服器向使用者返回值為 0 的游標時, 表示迭代已結束。

ps:sscan 後返回的1) 後面的值是0,表示遍歷完成。

spop key [count]
移除集合中的指定 key 的乙個或多個隨機元素,移除後會返回移除的元素。

scard key
返回集合中元素的數量

srandmember key [count]
用於返回集合中的乙個隨機元素。

負數時,返回乙個集合,取值隨機且可以重複:

srem key member [member ...]
用於移除集合中的乙個或多個成員元素,不存在的成員元素會被忽略。

smove source destination member
將指定成員 member 元素從 source 集合移動到 destination 集合

sinter key [key ...]
返回給定所有集合的交集

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

sunion key [key ...]
返回所有給定集合的並集

sunionstore destination key [key ...]
所有給定集合的並集儲存在 destination 集合中

sdiff key [key ...]
返回給定集合之間的差集。不存在的集合 key 將視為空集。

存在順序差異。

redis學習之四 Set

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

Redis學習(四)set集合

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

redis學習筆記三(set)

sadd keyname value 向set存入值 smembers keyname 查詢set的所有值 sismember keyname value 查詢指定的值是否存在 127.0.0.1 6379 sadd myset v1 integer 1 127.0.0.1 6379 sadd my...