3
回答
请教SNS中好友动态是如何进行合并的?
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
如果好友连续进行几次相同的操作,比如添加某人为关注对象,取消关注,再添加关注.但最后只显示最新的一次操作.这是怎么实现的?
举报
共有3个答案 最后回答: 6年前
根据操作记录的时间过滤出来的吧。就像os首页的动弹一样。只显示每个人最新的动弹。
--- 共有 2 条评论 ---
夏悸@cowboy_bebop : 不同操作不是可以分组不··只要先进行分组就行了 6年前 回复
就是不着调动弹应该是存在一张表里的,它只表示的是一种操作类型,这个只要显示每个用户最新的记录就可以了. 但是好友动态 它是多种操作类型,而且放在一张表里,难道每次添加操作记录都需要通过 用户+操作类型+操作对象 来匹配用户操作是否重复,这样效率不是很低. 6年前 回复

动态和关系是2个模块 分开的..

动态有3种方案 实现 推,拉,推拉结合...

推 添加关系 将好友动态添加到我这里...  删除关系 将好友动态从我这里移除... 如果觉得操作频繁可以对这类操作 用cache记录一个 操作时间...

拉 添加关系 和 删除关系 都不用操作动态..... 输出动态的时候 将好友关系的动态取出来 聚合 合并 吐出需要的数据

--- 共有 2 条评论 ---
马晓毅@cowboy_bebop : 看你的数据量大不大,不大的话 直接sql就可以搞定了...如果大的话 就要重新考虑整个架构...包括cache 异步 分库分表存储 等等方案了.... 自己去timyang.net找找 新浪微博的架构方案 理解下吧 6年前 回复
就是不着调我也是动态和关系2张表,取好友动态时先取我关注的对象,然后取我关注对象的动态,问题是我应该怎么去合并动态,好友做了几次相同的操作,只显示最近的一条.我看iteye的动态时可以合并的.不知道做么做的. 6年前 回复
做张记录动态的表,记录动态内容和类型,当用户添加动态时就查询是否有相同操作类型及是否需要进行合并,并更新一下时间,例如好友添加,用户在一天内不同时间添加了几个好友,就合并成用户与XXX,XXX,XXX成为了好友,更新操作时间为最后添加好友操作时的时间,当好友查询该用户动态时就只查到一条好友添加记录
顶部