1. 程式人生 > >用Redis存取兩個人的共同好友名單

用Redis存取兩個人的共同好友名單

首先,我們要查出兩個人是否是好友關係(互關狀態)

我們可以用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裡