总而言之依照情况而定web程序在大多数情况下,需要重复操作n种处理,
数据库建立连接之后,通常不需要马上断开,但是注意,连接只能建立一次。
不需要特别的释放,但是通常需要注意事务处理。
连接、释放的次数太多,反而影响处理速度。对于各种数组也是,通常把释放内存的工作交给Zend引擎就可以了,因为一个变量有一个特定的有效区域,Zend应该可以自己判断。
不过,有些变量是全局共享的,就不可以随便释放了。
数据库建立连接之后,通常不需要马上断开,但是注意,连接只能建立一次。
不需要特别的释放,但是通常需要注意事务处理。
连接、释放的次数太多,反而影响处理速度。对于各种数组也是,通常把释放内存的工作交给Zend引擎就可以了,因为一个变量有一个特定的有效区域,Zend应该可以自己判断。
不过,有些变量是全局共享的,就不可以随便释放了。
$xx=null就叫释放吗?哪里的规定?
写web程序,如何管理内存?很想知道用PHP有效管理内存的方法。
释放、释放,一个变量,因为它占用空间太大,就不允许重复使用了吗?访问量小的网站,允许web程序直接操作针对数据库的连接/切断,但是,访问量大的网站,数据库连接都是用连接池的.
数据库的连接/切断在外部统一管理,PDO具备这种功能。
真的难以想象,一篇小文章,一分钟内如果有一百个人访问,就要连接/断开数据库一百次?
2、“真的难以想象,一篇小文章,一分钟内如果有一百个人访问,就要连接/断开数据库一百次?”如果是这样的话,作为管理员肯定会使用永久连接,不会使用临时连接,当然如果这样,更需要释放资源了,mysql_free_result函数就是这样,如果不主动,Apache最终会负载过重而终止服务器,所以主动释放是很必要的,也是写程序的良好习惯。
php中倒是有用来废弃变量的unset函数,但是,就算unset,被参照的内容是否被废弃还要依型而易
管理员使用什么永久连接?内部程序跟服务器管理员挨得着边吗?
至于mysql_free_result这是特殊的情况,因为mysql_query返回的是resource,使用resource的时候需要注意恰当的关闭,但这也不是绝对的。
php4以后版本,zend引擎对于resource具有类似于java垃圾处理机制的管理方法,如果resource不被任何变量引用,将会自动废弃相应的数据并释放内存。