作者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