用Redis存取兩個人的共同好友名單
阿新 • • 發佈:2018-12-10
首先,我們要查出兩個人是否是好友關係(互關狀態)
我們可以用Redis 的set 存set user:1:funs 值 (set是無序不可重複的)
user:1:fans [2,3,4] //關注使用者1的粉絲 user:1:follows [2,5,7,8] //使用者1關注的
user:2:fans [1,3,4] //關注使用者2的粉絲 user:2:follows [1,7,8] //使用者2關注的
我們取出user:1:fans和user:1:follows的交集就是user1的好友列表了,
我們取出user:1:follows和user:2:follows的交集就是user1和user2的共同好友列表,
那麼我們可以用什麼方式取交集?
set的sinner可以獲取交集
指令:
smember user:1:follows //可取出user1的關注列表
sinter user:1:follows user:2:follows // 獲得user1,user2的共同好友
sinterstore userfriends user:1:follows user:2:follows
//獲取共同好友之後,將共同好友名單存入userfriends裡