【Redis學習】:set資料型別詳解
阿新 • • 發佈:2019-01-29
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命令就可以充分發揮它的方便和高效的優勢。
常用命令 新增/刪除元素 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 ...
結果:
集合的交集運算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
sunionstore destination key1 key2 ... 將key1.key2等set集合返回的並集儲存在destination中
使用場景 1、可以使用redis的set資料型別跟蹤一些唯一性的資料,比如訪問某一部落格的唯一IP地址資訊,對於此場景,我們僅需在每次訪問該部落格時將訪問者的IP存入redis中,set資料型別會自動保證IP地址的唯一性; 2、充分利用set資料型別的服務端聚合操作方便,高效的特性,可以用於維護資料物件之前的關聯關係。比如所有購買某一電子裝置的客戶ID被儲存在一個指定的set中,而購買另一種電子產品的客戶ID被儲存在另一個set中,如果此我們想獲取有哪些客戶同時購買了這兩種商品,set的intersections命令就可以充分發揮它的方便和高效的優勢。