集合的特點是元素是無序、不重複,支援集合間的操作(即兩個集合取交集、並集、差集);
命令:注意集合的命令是以 s- 為字首;
交集、並集和差集分別對應方法: sinter, sunion, sdiff。
sadd key element
向集合key新增element,若存在則失敗
srem key element
將集合key中的element移除掉
scard key
計算集合大小,也就是element的數量
sismenber key element
判斷element是否在集合中
srandmember key count
在集合中隨機挑count個元素,該方法對比spop不會破壞集合。
spop key
從集合中隨機彈出乙個元素
smembers key
獲取集合所有元素。返回結果無序,如果member多,注意阻塞
sinter/sunion/sdiff + store destkey
將差集、交集和並集結果儲存在destkey中
sinter/sunion/sdiff key1 key2
實戰場景:
微博****平台,can be spop
點讚 踩
標籤tag 給使用者新增標籤: sadd user:1:tags tag1 tag2 給標籤新增使用者:略 可以將這兩個操作放在同乙個事務內。
共同關注
tips
sadd = tagging
spop/srandmember = random item
sadd + sinter = social graph 社交相關應用
應用場景:
redis set對外提供的功能與list類似是乙個列表的功能,特殊之處在於set是可以自動排重的,當你需要儲存乙個列表資料,又不希望出現重複資料時,set是乙個很好的選擇,並且set提供了判斷某個成員是否在乙個set集合內的重要介面,這個也是list所不能提供的。
sets 集合的概念就是一堆不重複值的組合。利用redis提供的sets資料結構,可以儲存一些集合性的資料,比如在微博應用中,可以將乙個使用者所有的關注人存在乙個集合中,將其所有粉絲存在乙個集合。redis還為集合提供了求交集、並集、差集等操作,可以非常方便的實現如共同關注、共同喜好、二度好友等功能,對上面的所有集合操作,你還可以使用不同的命令選擇將結果返回給客戶端還是存集到乙個新的集合中。
Redis資料型別 Set
redis的set是string的無序集合。set元素最大可以包含2的32次方個元素 關於set集合型別除了基本的新增刪除操作。其他有用的操作還包含集合的取並集,交集,差集。通過這些操作可以很容易的實現sns中的好友推薦和blog的tag功能。sadd 新增元素 127.0.0.1 6379 sad...
Redis資料型別 SET
set 顧名思義為集合的意思 高中學過集合的知識我們知道,集合元素的個數是有限無序的,並且集合中元素不允許重複。和c 中的set容器是相同的。而這種特性可以使用set資料型別跟蹤一些唯一性資料,比如某一 的ip位址。在這種資料結構中,我們可以完成的操作有新增 刪除 測試元素是否存在等。由於集合本身的...
Redis支援的資料型別
1 字串 string 2 列表 list 3 集合 set 4 有序集合 zset 5 雜湊 hash 6 地理位置 geo 7 流 stream 設定鍵值 set key value 獲取鍵值 get key 乙個鍵值最大儲存512mb,可以儲存任何資料,如影象或序列化的物件 左插 lpush ...