2

我正在开发一个网站,我相信网站会以指数级增长。构建数据库,codeigniter模型和javascript调用以优化速度和效率

在开发网站时,需要考虑带宽使用和速度,这非常简单。我很担心,因为我在这方面的经验不多,所以虽然我知道网站可以同时处理10个用户,但我不知道它是否可以处理100甚至1000个。

我宁可防止问题,而不是如果发生这种情况,就可以治愈它,所以在寻找有关该主题的任何建议/信息/以下具体查询的答案。

如果我有一个产品表,带有一个分类列。然后,我在产品表中搜索类别为'FOOD'的所有商品 - 是否最好有一个带有包含产品ID的列的分类表?

使用Codeigniter从模型中调用其他模型有什么缺点?

使用javascript(使用jquery)我想有一个自动刷新div,其中包含通知(从数据库表)。据我所知,没有办法做到这一点,除了做到这一点 - 每隔x秒重新加载div ......用户数为1000,每10秒重新加载一次div,我可以看到资源非常密集的事情。当然,Facebook等必须做这样的事情..?如何有效实现这一点?

非常感谢 托马斯

+0

这个网站公开了吗? – 2012-07-20 19:19:29

+0

不需要 - 我正在开发它atm – 2012-07-20 19:21:44

+0

对于海量网站(未来),您可能会考虑NoSQL。我现在正在考虑它,因为它使用数据库而不是记录。一个很大的学习曲线,但它可能是值得的。 http://www.couchbase.com/why-nosql/nosql-database我相信Facebook等很多人都在使用这种技术。 – Sablefoste 2012-07-20 19:32:29

回答

0

如果我有一个产品表,其中的类别列。然后我搜索 产品表的所有项目的类别'食品' - 这是 最好有一个列表包含 包含在产品的ID列的类别表?

这取决于您在表格上的索引。如果您知道与food关联的身份证,并且您不必查找该信息,那么整数更快IIRC。

使用Codeigniter调用模型中的其他模型有什么缺点? 你的代码可能会变得混乱,并且它不是很理想..你为什么需要这样做?

使用javascript(使用jquery)我想有一个自动刷新div 其中包含通知(从数据库表)。据我可以告诉 有没有办法做到这一点,而不是做到这一点 - 重新加载 股利每1000秒用户,每10秒重新加载div 秒我可以看到事情变得非常耗费资源。当然 facebook等必须做这样的事情..?如何有效地实现这个 ?

有几种方法去这个问题,一个是使用插座和推通知给用户..看到http://pusher.com

还有使用jQuery和$.ajax上的计时器刷新能力每x秒通过CI ... e控制器/动作。G;

$.ajax({ 
    //controller/method/limit 
    url: "/notifications/get/10", 
    success(function(d){ 
    //d is a json_encoded object returned back from the controller 
    } 
}); 

最后,您可以加载页面载入的所有通知,并每隔x秒一次显示一个通知。

第一个和最后一个选项可能是资源密集度最低的。

第一个是因为您只是在发生更改时进行查询和推送。第二,因为你只是每页加载通知一次,而不是每隔x秒,无论如何。