作者tao2tw (smile_ting)
看板PHP
標題如何設計 facebook , g+ 按讚或者+1的功能
時間Sun Mar 24 14:22:18 2013
有個問題想與各位前輩討論,
我們都知道 facebook 有 按"讚"的功能。
如果把一篇文章當做一個 table 中的item 。
姑且稱之 Post item .
該Post item 可能包含許多欄位
owner_id , content , date , ...
那麼如果要實作按讚功能,
就需要新增一筆 like 欄位 到 Post Table
如果有user C 針對該篇文章 "按讚"
該 Post item 的 like 欄位 , 就會被 update , 並且增加 點讚人的user_id ?
比如說原本該POST 按讚人數 已經有兩人 "A,B"
則ABC按下去之後 先讀取 users = "A,B"
接下來 users+=","+current_user_id
將 "A,B
,C" 回存
感覺上似乎有一點沒效率。
但是直覺上的想法大概就是這樣,不曉得前輩是否有更聰明的想法?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 119.77.136.156
1F:→ FMDream:我會選擇在開一個表 post_item uesr_id is_like 03/24 14:56
2F:→ kerash:這樣設計會變成只要有一個人按讚其他人都會跟著變讚或者 03/24 14:57
3F:→ kerash:別人按讚自己的紀錄會被 update 掉吧 03/24 14:58
4F:→ hSATAC:再開個表 原本表只記按讚數 03/24 15:04
※ 編輯: tao2tw 來自: 119.77.136.156 (03/24 15:22)
5F:推 kerash:我會用一樓的作法 03/24 15:32
6F:→ MOONRAKER:這樣只在一個方向勉強算有效率 反過來就超級沒效率 03/24 16:00
7F:→ MOONRAKER:你想一下(1)我現在又按一次讚,怎麼避免我重覆。 03/24 16:01
8F:→ MOONRAKER:(2)我現在要收回讚,怎麼把我收回。 03/24 16:01
9F:→ MOONRAKER:(3)我現在想知道我按過哪些讚(FB界面沒提供,但是API有) 03/24 16:02
10F:→ MOONRAKER:要怎麼辦。你想一下在你設計中怎麼快速處理這三個功能。 03/24 16:02