溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

redis之sets類型及操作

發(fā)布時間:2020-07-21 09:48:58 來源:網(wǎng)絡(luò) 閱讀:576 作者:乾坤刀 欄目:關(guān)系型數(shù)據(jù)庫

sets類型及操作
set是集合,和我們數(shù)學(xué)中的集合概念相似,對集合的操作有添加刪除元素,有對多個集合求交并差等操作,操作中key理解為集合的名字。
set的是通過hash table實現(xiàn)(即set并沒有順序)的,所以添加、刪除和查找的復(fù)雜度都是O(1)。hash table會隨著添加或者刪除自動的調(diào)整大小。需要注意的是調(diào)整hash table大小時候需要同步(獲取寫鎖)會阻塞其他讀寫操作,可能不久后就會改用跳表(skip list)來實現(xiàn),跳表已經(jīng)在sorted set中使用了。關(guān)于set集合類型除了基本的添加刪除操作,其他有用的操作還包含集合的取并集(union),交集(intersection),差集(difference)。通過這些操作可以很容易的實現(xiàn)sns中的好友推薦和blog的tag功能。

sadd
向集合set中添加指定元素.
如:sadd myset "hello"
srem
刪除set中的指定元素
如:srem myset “hello”
spop
隨機刪除set中元素并返回此數(shù)據(jù)
sdiff
返回set1在set2中沒有的元素.
如:sdiff set1 set2
sdiffstore
返回set1在set2中沒有的元素,并存儲到另一個set中.
如:sdiff set1 set2 set3
smembers
查看Set元素
如:smembers set1
sinter
返回指定的set(多個)的交集
如:sinter set1 set2 set3
sinterstore
返回指定的set(多個)的交集并保存為另一個set。
sunion
返回所有給定set的并集
如:sunion set1 set2 set3
sunionstore
返回所有給定set的并集,并存儲為另一個set
smove
從第一個set中移除member并添加到第二個對應(yīng)set中
如:smove myset2 myset7 member
scard
返回set的元素個數(shù)
sismember
測試member是否是set的元素
srandmember
隨機返回set的一個元素,但是不刪除元素

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI