【发布时间】:2012-11-16 14:54:13
【问题描述】:
在我的网络应用程序中,我使用Amazon ECS PHP Class 来获取有关亚马逊产品的数据。目前我为每个页面请求创建新对象。初始化对象大约需要 1000 毫秒,从亚马逊获取数据大约需要 100 毫秒。
我的问题是如何避免为每个用户请求创建对象?我不确定它在 PHP 中是否可行,因此请随意提出替代解决方案。
我想我需要创建一个小程序,它将在服务器上运行并侦听来自 PHP 的请求,从 Amazon 获取数据并将其返回给 PHP。请建议我是否正确并告诉我应该看什么?
【问题讨论】:
-
创建对象真的需要1秒?!
-
99% 的时间花在 SoapClient 对象初始化上。
-
@vim:快速扫描源代码,在我看来,通过主动阻止序列化,对象本身并不是不可序列化的。但是,它可能只是需要通过支持 sleep 和 wakeup 方法进行一些小扩展:php.net/language.oop5.magic#object.sleep - 从基类扩展并添加这些以进行一些测试.序列化可能会帮助您缓存对象,使其在您的情况下使用更加灵活。您还可以在 github 上添加功能或拉取请求。