redis集合是乙個無序的字串合集。你可以以o(1) 的時間複雜度(無論集合中有多少元素時間複雜度都為常量)完成 新增,刪除以及測試元素是否存在的操作。
redis集合有著不允許相同成員存在的優秀特性。向集合中多次新增同一元素,在集合中最終只會存在乙個此元素。實際上這就意味著,在新增元素前,你並不需要事先進行檢驗此元素是否已經存在的操作。
乙個redis列表十分有趣的事是,它們支援一些服務端的命令從現有的集合出發去進行集合運算。 所以你可以在很短的時間內完成合併(union),求交(intersection), 找出不同元素的操作。
乙個集合最多可以包含232-1個元素(4294967295,每個集合超過40億個元素)。
下面,來列舉乙個簡單的例子:
#我新增乙個名為家庭的集合(我和我妻子)
> sadd family biki zhibin
(integer) 2
#顯示我的家庭成員列表
> smembers family
1) "biki"
2) "zhibin"
#顯示我家庭成員的數量
> scard family
2#判斷我是否是家庭的成員之一
> sismember family zhibin
(integer) 1
如下表顯示與排序集的一些基本命令:
s.n.
命令& 描述
1sadd key member1 [member2...]
新增乙個或多個成員到集合,新增成功返回1,成員已經存在或失敗則返回0
2smembers key
得到的集合的所有成員
3sinter key [key ...]
返回乙個給定集合的交集
4smove source destination member
將member元素從source集合移動到destination集合。
5sunion key [key ...]
返回乙個集合的全部成員,該集合是所有給定集合的並集。
6scard key
返回集合的基數
7sinterstore destination key [key ...]
此命令等同於sinter,但它將結果儲存到destination集合,而不是簡單地返回結果集。
8spop key
移除並返回集合中的乙個隨機元素。
9sunionstore destination key [key ...]
此命令等同於sunion,但它將結果儲存到destination集合,而不是簡單地返回結果集。
10sdiff key [key ...]
返回第乙個給定集合和其他所有給定集合的差集 。
11sismember key member
判斷member元素是否是集合的成員。
12srandmember key
返回集合中的乙個隨機元素。
13sdiffstore destination key [key ...]
此命令等同於sdiff,但它將結果儲存到destination集合,而不是簡單地返回結果集。
14srem key member
移除集合中的member元素。
Redis(六)set集合型別
set集合和list列表十分的相似,都可以儲存多個字串。但是list列表可以儲存重複值,而set集合中不可重複。一 集合資料結構 其中的user為鍵名,其可以包含多個 不重複 的元素,各不相同 user camellia1 camellia2 camellia3 二 操作命令 這裡分兩種,linux...
redis之set集合操作
sadd key members1 members2 向集合中新增乙個元素 smembers key 返回集合中所有的元素 當元素比較多的時候伺服器壓力會比較大 sismember key members 檢查key這個集合中 members 元素是否存在 srem key member 刪除元素中...
redis命令之集合(set)
一 常用命令 1 sadd set key item item 說明 將乙個或多個元素新增到set key中,返回新增成功的個數1 smembers set key說明 獲取set key中所有元素,如果set key儲存的不是乙個集合,返回乙個錯誤。2 sismember set key item...