• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > 如何实现类似脉脉网的二维人际关系

如何实现类似脉脉网的二维人际关系

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了怎么处理好人际关系,职场人际关系与沟通,如何利用人际关系,人际关系,当今社会人际关系等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:如何实现类似脉脉网的二维人际关系
描述:

以下是简化的数据和场景

==========================数据========================

  1. 用户信息:
    用户ID[ID] 、用户名[NAME]

  2. 用户关系:
    用户ID1[UID1] 、 用户ID2[UID2] 、 标签[LABEL]

  3. 用户状态:
    用户ID[UID] 、 内容[CONTENT]

==========================场景========================

  1. 假设存在3个用户。
    ID|NAME
    1|A
    2|B
    3|C

  2. 相互的关系为:
    UID1|UID2|LABEL
    1|2|亲戚
    2|3|同事

  3. 场景:
    A发布一个状态
    UID|CONTENT
    1|hello world!!

==========================结果=========================
C能看到A发布的状态,并且知道这个状态是同事B的亲戚A发布的

==========================问题=========================
求一个最简单 最容易理解 对系统压力最小 的方案????

=========================抛砖引玉=======================

我目前想到有2种方案
1.只记录一条状态,二维关注的用户都能通过关系查询到这条状态。
优点:逻辑简单
缺点:系统压力指数级增长
2.记录冗余状态,当用户发布状态时,所有二维关注的用户都会记录一条状态。
优点:系统压力较小
缺点:数据冗余很大


解决方案1:

冗余一个ID 不就行了么。而且我觉得冗余本身可以容易一层关系,二层关系,一层关系内容ID,两层关系内容ID,当然你说的这个直接冗余内容也是可以的考虑的。
微信朋友圈做的阅读权限代码就是不冗余的,直接读取的时候现算。这个是因为它需要根据是否朋友动态调整的。

解决方案2:

优选一,因为用户增长过程中,可以上memcache redis 和 第二种方案.


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何实现类似脉脉网的二维人际关系

相关文章

  • 2017-06-07 jqueryload问题
  • 2017-06-07 请问过来的达人
  • 2017-06-07 Y485P在ubuntu下只能搜到一个显卡
  • 2017-06-07 七牛SDK本地测试一直连接不上,还有就是怎么接入edusoho在线教育呢?
  • 2017-06-07 请问web开发中如何判断是否该显示验证码?
  • 2017-06-07 jsp文件被注入
  • 2017-06-07 依旧无法自动更新带?号查询的文件,求解
  • 2017-06-07 PyCharm313Preview解决了与python34的兼容问题,不再出现AssertionError
  • 2017-06-07 qfetch不可用
  • 2017-06-07 为什么在rails项目中touch/tmp/restarttxt这个文件就可以达到更新服务的目的?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • virtualenv在开始新隔离环境时,如何包含特定的几个全局Python三方包?不用pip从远程pypi安装
    • hdu1002
    • python3下使用multiprocessing报错的问题
    • 使用sublime写好python文件后,在cmd中打开中文显示乱码怎么解决?
    • (python)pygame内存管理
    • 外包一个页面,顺便推荐这个网络收藏夹--偶得
    • mac下bash_profile文件修改后出错
    • (golang)go的循环import问题
    • 关于二叉搜索树的小问题?
    • 如果图片一旦操作失误,可以回退吗?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有