gpt4 book ai didi

php - SOAP 请求处理大数据的时间太长

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:50:33 25 4
gpt4 key购买 nike

我从其他帮助 SOAP 客户端的网站得到了一个数组,它很大,你可以在这里查看简短版本
An array

我需要获取类别名称,我的代码在这里,它可以工作但会降低网站速度。如果有人可以提供更好的代码。

$client = new nusoap_client('http://87.253.63.146/b2b/b2bWS?WSDL', 'wsdl');
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
$parametrebi = array('user' => '','brand' => '', 'vat_zone' => 'GEVAT', 'currency' => 'GEL', 'all_items' => 'Y', 'page_num' => '1', 'lines_per_page' => '25');

$result = $client->call('GetPriceList', $parametrebi, array('return' => 'xsd:string'), "");
foreach($result['PriceList']['categories']['category'] as $category)
{
echo '<option value="'.$category['!id'].'">'.$category['!name'].'</option>';
}

最佳答案

类别是否经常更改?
您不能经常轮询类别吗?

例如,每 5 分钟左右进行一次 soap 调用,并将类别保存到数据库(这不是一个好主意)或内存缓存中的表中。

http://memcached.org/

如果你可以使用内存缓存...这是一个 ruff 示例:

$memcache_obj = new Memcache();
$memcache_obj->connect('memcache_host', 11211);

if(!$categories = $memcache_obj->get('soap_categories')) {
$client = new nusoap_client('http://87.253.63.146/b2b/b2bWS?WSDL', 'wsdl');
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
$parametrebi = array('user' => '','brand' => '', 'vat_zone' => 'GEVAT', 'currency' => 'GEL', 'all_items' => 'Y', 'page_num' => '1', 'lines_per_page' => '25');
$result = $client->call('GetPriceList', $parametrebi, array('return' => 'xsd:string'), "");
$categories = $result['PriceList']['categories']['category'];
$memcache_obj->set('soap_categories', $categories)
}


foreach($categories as $category)
{
echo '<option value="'.$category['!id'].'">'.$category['!name'].'</option>';
}

您可以将内存缓存的过期时间设置为 1、2、5...等分钟,以便每次缓存过期时都会更新类别。否则当缓存过期时,查找时间将少于 5-10 毫秒。

关于php - SOAP 请求处理大数据的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13585127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com