Set
基本操作
(1)添加數據 sadd key member1 member2…
(2)獲取全部數據 smembers key
(3)刪除數據
srem key member1 member2…
(4) 獲取集合數據總量scard key
(5)判斷集合中是否包含指定數據 sismember key member
(6)獲取全部數據 smembers key
(7) 求兩個集合的交,並,差集 sinter key1 key2
sunion key1 key2
sdiff key1 kry2
(8)求兩個集合的交,並,差集並存儲到指定集合中
sinterstore destionation key1 key2
sunionstore destionation key1 key2
sdiffstore destionation kry1 key2
(9)把指定數據從原始集合中移動到目標集合中 smove source destionation member
應用場景實例:
1.隨機推送內容,增加用戶留存度
將用戶已經很感興趣的方面抽走,之後推送用戶未曾關注方面的熱點信息,大體結構如下:
sadd news n1
sadd news n2
sadd news n3
sadd news n4
spop news 2
srandmember news 2
2.一個用戶有多個角色,每個角色又有多種權限,查詢某用戶的所有權限,判斷該用戶是否享有該權限。
大體結構如下:
//添加角色權限信息
sadd rid:001 insert
sadd rid:001 update
sadd rid:002 getall
sadd rid:002 insert
sadd rid:002 delete
//將某用戶的所有角色操作進行合併
sunionstore user:001 rid:001 rid:002
//查看某用戶是否具有該項操作權限
smembers user:001
sismember user:001 insert
3.記錄網站的訪問量PV,獨立訪問UV,獨立IP
PV:網站被訪問次數,可通過刷新頁面提高
UV:網站被不同用戶訪問,課通過cookie統計訪問量,相同用戶切換IP地址不變
IP:網站被不同IP地址訪問的總次數,可通過IP地址統計訪問量,相同IP不同用戶訪問,IP不變
PV可以直接通過String的incr進行實現
UV大體結構如下:
sadd cookie 4444
sadd cookie 4445
sadd cookie 4446
scard cookie
IP大體結構如下:
sadd ips 1.2.3.4
sadd ips 2.3.3.4
sadd ips 2.36.58.1
scard ips