1. 程式人生 > >【Redis學習】:set資料型別詳解

【Redis學習】:set資料型別詳解

set資料結構

常用命令 新增/刪除元素 sadd key values[value1 value2 ...] 向set中新增資料,如果該key的值已有不會重複新增。

srem key members[member1 member2 ...]
刪除set中指定的成員


獲得集合中的元素
smembers key 獲取set中的所有成員

sismember key member
判斷引數中指定的成員是否在該set中,1表示存在,0表示不存在或者該key本身就不存在,無論集合中有多少元素都可以極速的返回結果。

集合的差集運算A-B sdiff key1 key2 ...
返回key1和key2中相差的成員,而且與key的順序有關,也即是說返回差集。

結果:

集合的交集運算A∩B
sinter key1 key2 ... 返回交集

結果:

集合的並集運算A∪B
sunion key1 key2 ,,, 返回並集

結果:

scard key
獲取set中成員的數量


srandmember key
隨機返回set中的一個成員

sdiffstore destination key1 key2 ..
. 將key1.key2等set集合相差的成員儲存在destination中

sinterstore destination key1 key2
... 將key1.key2等set集合返回的交集儲存在destination中

sunionstore destination key1 key2 ... 將key1.key2等set集合返回的並集儲存在destination中

使用場景
1、可以使用redis的set資料型別跟蹤一些唯一性的資料,比如訪問某一部落格的唯一IP地址資訊,對於此場景,我們僅需在每次訪問該部落格時將訪問者的IP存入redis中,set資料型別會自動保證IP地址的唯一性; 2、充分利用set資料型別的服務端聚合操作方便,高效的特性,可以用於維護資料物件之前的關聯關係。比如所有購買某一電子裝置的客戶ID被儲存在一個指定的set中,而購買另一種電子產品的客戶ID被儲存在另一個set中,如果此我們想獲取有哪些客戶同時購買了這兩種商品,set的intersections命令就可以充分發揮它的方便和高效的優勢。
intersections命令就可以充分發揮它的方便和高效的優勢。