这段代码会在apache上占用大量的php内存吗?

时间:2011-03-08 05:09:53

标签: php memory-management

我想在我的网站的PHP代码中添加大约6000行代码,在LAMP上运行。 这是共享托管每月6美元。

我的问题是它会占用大量的php内存吗?

if($id==1)
{
sprintf($url,....);
}
else
if($id==2)
.....

依此类推$id等于6000

3 个答案:

答案 0 :(得分:3)

前往$url 6000比花费更长时间$url 1.不会长6000倍,但会更长。

我不太确定这种设计的智慧,但使用an array可能会让访问时间更快:

$urls = array(1 => "http://www.foo.bar/", 2 => "http://blubber.blorp/");
sprintf($urls[$id],...);

如果所有网址都以http://开头,那么您可以将其移至sprintf()调用以节省内存。但6000个字符串乘以100个字节(假设长URL)仍然只有600,000个字节,而一些开销可能只嚼不到1兆字节的内存。

答案 1 :(得分:1)

即使“太多”只有几kb,也会占用太多的内存和CPU;你可以比这更好地编码。

答案 2 :(得分:1)

当然会“吃掉”记忆。解析器必须加载6000 if语句,URL等...

由于您正在使用LAMP,请将网址放入MySQL数据库并根据M

选择相应的记录,以利用$id