参考:http://t.zoukankan.com/hujingnb-p-12389810.html
本人对上述功能进行增强,性能优化
需求:
- 发朋友圈
- 评论动态
- 查看朋友圈(只能查看好友的)
- 查看评论(只能查看共同好友的)
- 新消息小红点
- 局部用户可见
- X天可见
DB表设计
全局朋友圈表:id、发布人id、发布时间、朋友圈内容、点赞数(可不要)、评论数(可不要)
全局评论表:朋友圈id、回复人id、评论人id、评论内容、评论时间、上次刷新时间
个人独立收件箱:朋友圈id、发布人id、发布时间、上次刷新时间
个人独立评论表:朋友圈id、回复人id、评论人id、评论内容、评论时间、上次刷新时间
Redis:用户受众人:
查看朋友圈
- 从朋友圈动态查找可以查看的动态(包含用户ID和公共ID)
- 从朋友圈评论查看相关评论(包含用户ID和公共ID)
- 从动态表和评论表根据ID将相关数据取出
前两步走索引, 第三步直接根据主键获取, 而且拿出来的没有无用数据
数据维护的操作(一下所有操作官方特判)
发动态
- 查找用户所有好友
- 将动态添加到所有好友的朋友圈动态表中(包括用户自己)
删动态
- 查找用户的所有好友
- 将动态从好友的朋友圈动态表中删除
- 将动态从好友的朋友圈评论表中删除
发评论
- 查找用户的所有好友A
- 从朋友圈动态中找出A可以查看此动态的好友B
- 若评论是回复某用户, 则从B中过滤不是回复用户好友的用户, 得到C
- 将数据添加到C的朋友圈评论表中
删评论
- 查找用户的所有好友A
- 从朋友圈评论中找出A中可以查看此评论的用户B
- 删除B的朋友圈评论数据
添加好友
- 找到好友的所有动态, 添加到用户的朋友圈动态中
- 找到好友在用户朋友圈动态中所有动态下的相关评论(包括评论和被评论), 并从中过滤掉用户不可查看的评论, 同步好友圈评论
删除好友
- 找到好友在用户朋友圈动态中所有动态下的相关评论, 删除用户好友圈评论数据
- 找到好友的所有动态, 从用户的朋友圈动态中删除
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤