我想在我的网络应用程序上实现Facebook更新(用户操作和通知)。我正在使用LAMP。我应该创建一个db表来存储重复数据,还是应该调用不同的表来向用户显示他的更新。
有没有更好的方法来做到这一点。
例如:当有人对用户的个人资料发表评论时,那也应该在他的更新中出现。当有人评论用户的个人资料时,这会存储在评论表中。有许多这样的功能需要在更新中捕获。
答案 0 :(得分:1)
我要说两张桌子
Action = {id, type_id, details, user_id}
ActionTypes={id, name}
但由于你没有提供很多关于你想要做什么的信息,所以很难具体说明
答案 1 :(得分:0)
到目前为止,最简单的方法是对其进行非规范化。将所有消息/通知/任何内容放入一个表中并进行查询。可以认为它类似于用户的“收件箱”。
答案 2 :(得分:0)
我认为这取决于您预期会在Feed中报告的操作增长,并且您希望能够构建这些操作并搜索/排序/链接/与它们交互。
如果不关心扩展它们,我会说使用Matt Grande建议的非规范化方法。
如果您希望能够轻松过滤,排序和扩展,而不是规范化您有兴趣稍后更改的任何内容。动作“发布者”可以有一个名称,图标,“动作”可以只是一个带链接的字符串。 真正的问题是您希望该功能做什么,以及您和您的用户将如何与之互动?
答案 3 :(得分:0)
我正在我的社交网络上执行此操作,目前我的网站有用户公告但我正在转换到web 2.0操作类型,所以我基本上会有你提到的相同的东西,但我的很多更复杂,因为我的只会展示您是其朋友的用户的行为。我总是乐于接受改善这种表现的建议,因为它需要JOINS,而且只显示朋友的近期活动,而不是所有用户