你能把太多的信息放到变量中吗?

时间:2009-09-29 00:18:34

标签: php

我正在创建一个充分利用$ GLOBALS变量的脚本。是否有太多可以放入变量?

如果我在页面加载时在$ GLOBAL变量中存储了大量信息,这会不会对网站造成太大的影响或者不是真的?

应该在变量中存储多少信息?它是如何工作的?

当我完成该变量时,从这个变量中删除信息会更好吗?

感谢您的帮助!我想在进一步发展之前确保我做对了。

2 个答案:

答案 0 :(得分:2)

在PHP中,你应该知道一个memory_limit配置指令(在php.ini中)。

正如梅德所说,你应该退后一步并重新评估事情。您是否在每个Web服务器请求中使用所有这些数据。

几乎在所有情况下,您最好只在需要时加载所需的数据。

例如,即使您从某个文件而不是数据库中读取所有这些数据,您最好将该文件拆分为逻辑组,并加载所需的数据(一次!),在使用之前(第一次)。

假设你正在运行Apache / mod_php,在每个请求上加载所有内容都会增加你的httpd进程的大小,当你扩展流量时,你只需要开始交换(这意味着你的应用会慢慢爬行

,甚至更糟,变得僵局

确实需要所有(或几乎所有)请求可用的全部或大部分数据,请考虑查看memcache之类的内容。您可以设计在进程之间共享(只读)数据的方法,而不是为每个请求复制数据。

答案 1 :(得分:1)

有些人使用“Registry”对象来处理全局变量。

了解Kevin Waterson是如何做到的: http://www.phpro.org/tutorials/Model-View-Controller-MVC.html(参见“5. The Registry”)