我正在开发一个网站,我相信它会成倍增长。
非常简单的一个人需要在开发网站时考虑带宽使用和速度。我之所以担心,是因为我在这个领域几乎没有经验,所以尽管我知道这个网站可以同时处理10个用户,但我不知道它是否可以处理100甚至1000个用户。
我宁愿预防问题,而不是解决它,所以我正在寻找关于这个主题的任何建议/信息,以回答以下特定的问题。
如果我有一个products表,其中有一个categories列。然后我在products表中搜索类别为'FOOD‘的所有项目-这是否比拥有一个包含产品I列的类别表更可取?
使用Codeigniter,从一个模型中调用其他模型的缺点是什么?
使用javascript(使用jquery),我希望有一个自动刷新的div,它包含通知(来自db表)。据我所知,除了每隔x秒重新加载一次div之外,没有其他方法可以做到这一点。对于1000个用户,每10秒重新加载一个div,我可以看到事情变得非常资源密集型。facebook等公司肯定会做这样的事情吧?如何有效地实现这一点?
非常感谢托马斯
发布于 2012-07-27 03:54:40
如果我有一个products表,并且有一个categories列,则为
。然后我在products表中搜索类别为'FOOD‘的所有项目-这是否比拥有一个包含产品I列的类别表更可取?
这取决于您在表上的索引。如果您知道与food
相关联的id,并且不必查找该信息,那么integer会更快。
和Codeigniter从一个模型中调用其他模型的缺点是什么?你的代码可能会变得杂乱无章,而且这并不是很理想。为什么需要这样做?
使用javascript(使用jquery),我希望有一个自动刷新的div,它包含通知(来自db表)。据我所知,除了每隔x秒重新加载一次div之外,没有其他方法可以做到这一点。对于1000个用户,每10秒重新加载一个div,我可以看到事情变得非常资源密集型。facebook等公司肯定会做这样的事情吧?如何有效地实现这一点?
有几种方法可以做到这一点,一种是使用套接字并将通知推送给用户。请参阅http://pusher.com
还可以在计时器上使用jQuery和$.ajax
,通过CI每隔x秒刷新一次控制器/操作……例如:
$.ajax({
//controller/method/limit
url: "/notifications/get/10",
success( function(d){
//d is a json_encoded object returned back from the controller
}
});
最后,您可以在页面加载上加载所有通知,并每隔x秒显示一个通知。
第一个和最后一个选项可能是资源密集型最少的。
第一个原因是您只在发生更改时查询和推送。第二个原因是每次页面加载只加载一次通知,而不是每x秒加载一次通知。
https://stackoverflow.com/questions/11585395
复制相似问题