facebook如何如此快速地了解所有用户连接?

facebook如何如此快速地了解所有用户连接?,facebook,http,cookies,architecture,social-networking,Facebook,Http,Cookies,Architecture,Social Networking,我正在开发一个服务,它使用社交图 有一个单独的模块,用于管理用户连接,基本上负责所有相关操作。在某些服务中,您需要了解所有用户连接,以提供正确的响应 在我看来,实现这一点有4种可能的选择: 基于服务器的连接支持 1.1。每次请求社交图数据时,请求模块提供好友列表,并处理相应的响应 1.2。拥有具有Key-playerID、Value-all-player连接的内部缓存,将更新此缓存的责任添加到连接模块,并使用它而不是引用此模块 基于客户端的连接支持 2.1。添加一个包含所有好友列表的特殊Cook

我正在开发一个服务,它使用社交图

有一个单独的模块,用于管理用户连接,基本上负责所有相关操作。在某些服务中,您需要了解所有用户连接,以提供正确的响应

在我看来,实现这一点有4种可能的选择:

  • 基于服务器的连接支持

    1.1。每次请求社交图数据时,请求模块提供好友列表,并处理相应的响应

    1.2。拥有具有Key-playerID、Value-all-player连接的内部缓存,将更新此缓存的责任添加到连接模块,并使用它而不是引用此模块

  • 基于客户端的连接支持

    2.1。添加一个包含所有好友列表的特殊Cookie,这样服务器就可以读取该Cookie并提供所需信息,而无需与外部模块对话。(这可以通过为Cookie提供一些签名来保护,并通过为所有连接相关数据添加一些路径来优化)

    2.2。在客户机中添加一个连接管理层,这样它就可以通过在每个请求上提供一个连接列表来显式地请求所有需要的信息

  • 当我看facebook Cookies时,有一个fr cookie,我可以推测它用于这种功能


    facebook如何解决这个问题?

    如果你只想为每个用户维护一个朋友列表,你不需要完整的社交图。在数据库中存储一个简单的朋友列表就可以了

    客户端存储通常仅用于缓存或会话数据,您不希望用户因为重新安装浏览器或交换计算机而丢失其好友列表


    如果您确实想要实现一个完整的社会化图,那么可以查看graph DB。是我用过的一个,很容易入门。

    为什么不问问facebook?我没有安装任何屏幕截图工具的10k+链接可能是其他10k+帮助