如何設計遊戲好友列表

FancyGo發表於2016-11-04

今天和同事討論了一下好友列表的設計。 他的設計是,如果兩個玩家(id1 和 id2)成為好友,那就直接在資料庫中存兩條資料,主鍵就是兩個 id 拼接起來,“id1-id2”“id2-id1” 這樣,然後記憶體中也不儲存,新增刪除好友直接運算元據庫。他這樣設計的主要原因是保證一個玩家刪除好友,另一個玩家相應刪除的時候保證了原子性。然後也不用把大量的列表資料載入到記憶體。 我的想法呢,是每個玩家存一條資料 id:[id1,id2,id3,id4,id5] 這樣子,然後載入到記憶體,新增刪除直接在記憶體中加鎖操作,資料庫就單執行緒順序寫。 當玩家數量較小時,這兩種方法都行。但如果玩家數量很大,單服十幾萬的話,哪種方法更好呀。或者有沒有其他更好的方法呀。

更多原創文章乾貨分享,請關注公眾號
  • 如何設計遊戲好友列表
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章