我正在开发专用于prestashop模块的webservice,这需要花费大量时间。 网络服务在每次通话时都会返回一个运费,所以如果我有4个运输车,那么prestashop可以进行8次通话(4个用于bloc车,4个用于在订购页面上获得运费)。 有没有减少这个时间的解决方案?比如使用静态var。 我尝试了缓存但没有效果,因为wsdl已经在我的服务器上了。
答案 0 :(得分:2)
您必须缓存Web服务结果以提高性能:
if (Cache::isStored('unique-id-for-your-module-and-request-result-' . Tools::jsonEncode($request_params)))
{
$shipment_options = Cache::retrieve('unique-id-for-your-module-and-request-result-' . Tools::jsonEncode($request_params));
}
else
{
$shipment_options = $api_or_soap->getEstimateCost($request_params);
if ($shipment_options)
Cache::store('unique-id-for-your-module-and-request-result-' . Tools::jsonEncode($request_params), $shipment_options);
}
祝你好运