我将使用CakePHP构建一个允许用户搜索关键字的应用程序,即。牛奶,然后我会自动搜索当地的网上商店,以获得最佳的牛奶价格,即。沃尔玛,肖斯,停止和购物等(注意:这是一个假设的情况,举例说明我需要完成的事情),然后我会将结果显示给用户。
我想利用CakePHP的HttpSocket库来代替cURL。
我需要将此设置设置为多线程,以便我可以更快地显示结果,但出于性能考虑,哪个是进行这些调用的最佳位置,即Controller?基本上,我正在寻找你对这种工作的最佳方法的见解,考虑到它需要多线程,快速。
之前我没有使用过CakePHP的HttpSocket库,但是我已经通过它看了一下并快速测试了它,它看起来非常强大。你对此有何看法?它是否与PHP的cURL进行了性能比较?
非常感谢您的见解。
答案 0 :(得分:1)
cURL比任何普通的php实现都快,比如CakePHP套接字。
控制器是错误的地方,模型或自定义数据源将是正确的位置。您可以同时请求多个站点并等待X秒,直到您取消未及时响应的请求。此外,我会缓存结果,这样您就不必每次都要求价格。
根据价格变化的频率,每天或每小时查询一次或两次商店,例如使用shell并更新数据库中的价格,这可能是一个更好的主意。