[关闭]
@hai046 2016-09-26T07:44:04.000000Z 字数 538 阅读 776

Profile页中增加「好友」模块

需求 1.2.70


常规方法实现 时间复杂度太高

不适合实时计算,但又因为谁看我的是不可以预估的,不可能全部计算好,假设需要提前全部计算好的话 假设全站用户数是n,那么他们之间的组合n*(n-1)/2例如外网有12w用户那么组合是72w

每个人假设是100个好友那么就是72*100*100=72亿 所以是不能全部提前计算的【关键是活跃的用户好友不止100,例如你们网红们,那么对他们用户体验影响太大】

目前有可行性的建议方案

现阶段这个只是一个理论假设方案
用我们以前翻一翻的那个方法,对每个人建立一个 索引【我靠 得12w个目录索引,涉及到索引怎么放,放在那里,IO性能等】
然后搜索它

不过这个还是比较大的功能,维护难,如果你只是想看看然后后期版本就不用了,建议放弃,不然太浪费了

缺点:1,不能进行组合排序,只能按照某一个关系进行排序,但可以按照先按照一种关系排序,然后在按照另外一个关系排序,2,不能按照活跃时间排序,3,排序结果可能有些出入,总体是对的

其他

实时展示适合一维关系的展示;多维关系不适合实时展示;多维关系的计算是有时间成本的,不适合大量数据的计算

展望

当我们用户足够多了,资源足够多了,部署成百上千个服务器组建个集群可以用大数据计算,不过现阶段不实际

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注