是否可以在 PHP 中汇集数据或功能?
我编写的业余 PHP 代码会唤醒以处理响应、加载函数、打开数据库连接、创建对象、初始化它们,然后 - 在处理完响应后 0.01 秒后死亡,让下一个请求重新加载,解析,然后再次运行主要相同的东西。
这是没有意义的,我发现它消除了我很多工作的价值,即没有功能/数据/对象池。例如,我可以编写类,发现它们都被每个请求重新初始化——我试图开发一个有意义的对象结构有什么意义?
所以:我如何编写 PHP 来汇集数据和功能?
是否可以在 PHP 中汇集数据或功能?
我编写的业余 PHP 代码会唤醒以处理响应、加载函数、打开数据库连接、创建对象、初始化它们,然后 - 在处理完响应后 0.01 秒后死亡,让下一个请求重新加载,解析,然后再次运行主要相同的东西。
这是没有意义的,我发现它消除了我很多工作的价值,即没有功能/数据/对象池。例如,我可以编写类,发现它们都被每个请求重新初始化——我试图开发一个有意义的对象结构有什么意义?
所以:我如何编写 PHP 来汇集数据和功能?
PHP 中没有一个解决方案池或持久状态,它没有像 Java 这样的应用程序状态,它或多或少遵循 HTTP 无状态协议。你可以做的是:
PHP 几乎不是瓶颈。我们的服务器在高峰时刻每秒处理数百个请求。这些也不是微小的要求。这似乎不合逻辑,但 PHP 实际上是非常快的。您可以使用 APC 缓存来缓存预编译的 PHP 文件,以使其更快。然后,您可以使用 MemCache 来存储数据,因此任何查询结果和类似的数据都可以轻松缓存,而无需依赖 MySQL 的次优查询缓存。
我和你有类似的担忧;但奇怪的是, PHP 的速度快得令人眼花缭乱。除了应该由服务器缓存的数据库查询之外,只剩下连接问题。可以很容易地汇集。
我的系统甚至必须解析几个 kb 的 XML 文件以获取响应。仍然瓶颈始终是数据库服务器。
不过,PHP 的这种临时状态也有好的一面。一个有问题的请求,使系统崩溃不会对下一次连接产生任何不利影响。对我来说似乎更稳定。