Redis資料型別 SET

2021-07-03 21:16:36 字數 1192 閱讀 4548

set 顧名思義為集合的意思 ,高中學過集合的知識我們知道,集合元素的個數是有限無序的,並且集合中元素不允許重複。和c++中的set容器是相同的。而這種特性可以使用set資料型別跟蹤一些唯一性資料,比如某一**的ip位址。

在這種資料結構中,我們可以完成的操作有新增、刪除、測試元素是否存在等。由於集合本身的性質,在新增相同元素的時候,最終只有乙個元素。  支援在伺服器端完成多個集合的合併、求交集、求並集等,節省了網路io開銷。

具體的指令參考部落格:

1、 sadd

命令可以將乙個或多個

member 

元素加入到集合

key 

當中,已經存在於集合的

member

元素將被忽略

2、 需要隨機取出集合中的某個元素,可以使用

spop

命令,執行

spop

命令返回的元素將被

移除該集合

3、  獲取集合中全部的元素,則需要使用

smembers

命令4、 檢視集合中元素的數量,可以使用

scard命令

5、取得集合的差集,通過

sdiff

命令即可輕鬆實現

6、redis 

中獲取集合的交集,執行

sinter

命令將返回集合的交集

7、執行

sunion

命令將返回給定集合的並集

8、sismember

命令判斷集合是否包含某個元素;

如果集合包含給定的元素,則返回1,反之則返回0。

9、 執行

smove

可以移動元素,smove

是原子性操作,因此可以保證資料的一致性。

smove source destination member

如果source 

集合不存在或不包含指定的 member 元素,則

smove

命令不執行任何操作,僅返回 0 。否則, member 元素從 source 集合中被移除,並新增到

destination 

集合中去。

10 命令

srem

可以將元素從集合中移除,移除集合

key 

中的乙個或多個

member 

元素,不存在的

member 

元素會被忽略

Redis資料型別 Set

redis的set是string的無序集合。set元素最大可以包含2的32次方個元素 關於set集合型別除了基本的新增刪除操作。其他有用的操作還包含集合的取並集,交集,差集。通過這些操作可以很容易的實現sns中的好友推薦和blog的tag功能。sadd 新增元素 127.0.0.1 6379 sad...

redis資料型別之set

在redis中,我們可以將set型別看作為沒有排序的字元集合,和list型別一樣,我們也可以在該型別的資料值上執行新增 刪除或判斷某一元素是否存在等操作。需要說明的是,這些操作的時間複雜度為o 1 即常量時間內完成次操作。set可包含的最大元素數量是4294967295。set操作命令如下 sadd...

redis資料型別之Set

1 設定和獲取127.0 0.1 6379 sadd set2 v1 v2 v3 v3 integer 3127.0 0.1 6379 smembers set2 無序不重複1 v1 2 v3 3 v2 127.0 0.1 6379 spop set2 彈出元素 v1 2 是否存在member127...