![]() |
1
2
我有在社交网站上构建新闻流的一些经验,是的,当您有多种类型的事件和多个兴趣级别(或隐私设置或用户权限)时,查询会很快变得非常复杂。 假设事件的查看频率比生成的频率高,那么在事件发生时进行非规范化并计算事件的潜在查看者,而不是每次有人请求新闻流时,都是有意义的。 我建议运行一个后台进程,将这些事件对象(与其创建者相关)转换为更简单的消息对象(与其读卡器相关,以及在新闻流中看到它们的人相关)。每个事件可能会有许多消息,但这将使对前端的请求更快,并将工作卸载到后台进程。 我没有使用Gearman,但是如果这是一种允许你在后台进程中加载应用程序环境并通过队列接收要处理的事件的方法,那么这可能是个好主意。 我的简单解决方案是使用我自己的 beanstalkd 以及我自己的PHP脚本。 |
![]() |
2
1
不知道你的数据库是如何构造的(你可能想告诉我们更多),但有一些明显的
我觉得不太重,假设你的指数到处都是 |
![]() |
3
1
这听起来像是可以用适当的索引来解决的问题。我将围绕数据库能够处理它的假设构建解决方案,但将服务放在数据库前面,让所有客户机都经历这一点。如果事情发展得太慢,可以在此层中引入各种类型的缓存。和大多数性能决策一样,尝试提前做可能不是一个好主意。 |
![]() |
4
1
Facebook开发了他们自己的数据库来做这类事情,并开放源代码,我对它不太了解,但我猜可能是 worth a look . |
![]() |
5
1
你看过吗 Activity 模块?以下是其项目页面的摘录:
我会对你的想法感到好奇,因为在不远的将来需要做类似的事情。 |
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |