Redis資料結構詳解之Set(三)

2021-08-21 10:25:50 字數 2156 閱讀 5536

在redis中,set和list都是字串序列,非常相似,不同之處在於set是用雜湊表來保持字串的唯一性,沒有先後順序,不像list一樣,可以在首尾增刪資料。但是set也有自己的相應處理命令來完成對自己的操作。下面我們來看下set的命令怎麼使用。

redis中set列表的新增命令sadd,key值相同下的value值不能重複,返回插入的資料個數,key後面可跟多個value值

127.0.0.1:6379>sadd myset 1   ---新增key為myset的set資料值為1,

127.0.0.1:6379>sadd myset 2 4 5  ---新增key為myset的set資料值為2,

redis中檢視set資料集合的命令:smembers,可以獲取全部的元素,當set成員比較多時考慮其效能啊

127.0.0.1:6379>smembers  myset     ---獲取key為myset的說有set資料值集合

redis中set判斷某個key的value中是否存在某個值的命令:sismember ,如果存在返回1,不存在返回0

127.0.0.1:6379>sismember myset 3  ---返回值為0,因為myset的set成員中只有1,2沒有3

127.0.0.1:6379>sismember myset 2   ---返回值為1,因為myset的set成員中存在2.

redis中set的刪除資料命令srem,返回刪除個數,key後面可跟多個value值

127.0.0.1:6379>srem myset 1   ---刪除key為myset,value為1的資料項。

127.0.0.1:6379>srem myset 2 4     ---刪除key為myset,value為2和4的2個資料項。

redis中檢視set資料個數的命令scard,如果不存在返回0

127.0.0.1:6379>sadd myset 1 2 3 4 5

127.0.0.1:6379>scrad myset   ---檢視myset中存在多少個資料項,返回結果為5

redis中set隨機檢視元素命令srandmember

127.0.0.1:6379>srandmember myset   ---輸出key為myset的資料項中的隨機乙個value,

redis中set隨機刪除乙個元素的命令spop,並返回輸出刪除的資料

127.0.0.1:6379>spop myset    ----隨機從key為myset的資料集合中刪除一條資料,並返回輸出刪除的資料

127.0.0.1:6379>scard myset    ---key為myset的資料集合中的資料個數為4

set除了對乙個set中的元素進行增刪改查外,還可以對多個set進行操作,比如將乙個set的元素移到另外乙個set中,計算多個set的並集,交集,差集等操作。

redis中set將乙個set中的元素移動到另外乙個set中的命令smove

127.0.0.1:6379>sadd myset 1 2 3    ----向myset中新增3條資料 1 2 3

27.0.0.1:6379>sadd youset 3 4 5     ----向youset中新增3條資料 3 4 5

127.0.0.1:6379>smove youset myset 4  ---將youset中的資料4移除的同時將資料4新增到myset中

127.0.0.1:6379>smembers myset   ---結果為:1 2 3 4

127.0.0.1:6379>smembers youset   ---結果為 3 5

redis中set求交集命令sinter

127.0.0.1:6379>sinter myset youset   ---輸出結果為myset和youset的交集,輸出結果為:3

redis中set求並集的命令sunion

127.0.0.1:6379>sunion myset youset    ---輸出結果為myset與youset的並集,輸出結果為:1 2 3 4 5 

redis中set求差集的命令sdiff

127.0.0.1:6379>sdiff myset youset     ---輸出結果為myset中youset不存在的資料,輸出結果為:1 2 4

127.0.0.1:6379>sdiff youset myset   ---輸出結果為youset中myset不存在的資料,輸出結果為:5

Redis資料結構詳解之Set(三)

在redis中,set和list都是字串序列,非常相似,不同之處在於set是用雜湊表來保持字串的唯一性,沒有先後順序,不像list一樣,可以在首尾增刪資料。但是set也有自己的相應處理命令來完成對自己的操作。下面我們來看下set的命令怎麼使用。redis中set列表的新增命令sadd,key值相同下...

Redis資料結構詳解之Set(三)

序言 在redis中,set和list都是字串序列,非常相似,不同之處在於set是用雜湊表來保持字串的唯一性,沒有先後順序,不像list一樣,可以在首尾增刪資料。但是set也有自己的相應處理命令來完成對自己的操作。下面我們來看下set的命令怎麼使用。操作單個set的命令 redis中set列表的新增...

Redis 資料結構之set

集合set set 集合是無序且不可重複的,set 是通過 hashtable 實現的,新增刪除和查詢的複雜度都是o 1 效率很高。它最大的優勢在於可以進行交集 並集 差集操作。set 集合中最大元素數量是 4294967295。sadd 新增元素 重複元素不再新增 127.0.0.1 6379 s...