我不知道从长远来看,你提出的方案会给你更多的灵活性:
DB模式是什么,我期待的。我在想也许像.... .... activity_id activity_message activity_time其中的消息将像“{USERID:34}喜欢{USERID:23}帖子”和“{USERID:34}改变他的照片{PHOTOID:2}”
这个问题是你依赖正则表达式和其他昂贵的(及时的)解析方法来显示。
也许(我从来没有实际设计过这种东西),如果你有一个单独的表为“喜欢”,它有user.id,post.id,timestamp,那么你可以很容易地计算一个特定的帖子喜欢它的人数,对于可以按用户过滤的活动流和按时间排序。存储的user.id是喜欢该帖子的人,然后您可以在post.id上加入以获得与该帖子相关联的用户。
对于处理图片和/或其他交互,你可以有一个表,包含user.id,item.id,action,timestamp,其中item.id是一个图片/文章/其他id引用,并且动作是一个数字标识符对应于您可以与字符串关联的操作。
通过这种方式您可以获得其他优势,如果您希望以后有多种语言或决定将“喜欢”一词更改为“喜欢”,您可以轻松地进行操作,就好像您存储了一个文本字符串稍后会显示出来,您将更难以替换它。
我不太明白你在问什么。你想为活动提供数据库模式建议吗? – Evernoob 2010-07-28 09:15:16
如果您将所有内容都正确存储在数据库中,则名称将会更新。您是否想知道如何让名称正确显示,或者您是否正在寻找一种将数据“推送”到浏览器而无需用户刷新页面的方式? – 2010-07-28 13:55:05
数据库架构是我正在寻找的。 我想也许是这样.... ACTIVITY_ID activity_message activity_time 如果消息将会像 “{USERID:34} {喜欢USERID:23}邮报” 和“{USERID:34}改变了他图片{PHOTOID:2}“ 并让系统检测这些令牌,并用适当的值替换。这似乎是一个好方法吗? – ohmybrew 2010-07-28 17:17:43