2012-11-27 19 views
5

işlemek için çok uzun süren, oldukça büyük dizi, sen ben almak gerekir
An arraySOAP istek geniş veri Ben SABUN müşteri yardımcı olan başka bir web sitesinden bir dizi olsun

burada kısa versiyon bunu kontrol edebilirsiniz kategori isimleri, kodum burada, çalışıyor ancak web sitesini yavaşlatıyor. herhangi biri daha iyi kod sağlayabilirse.

$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>'; 
} 

cevap

0

Kategoriler sık ​​sık değişir mi?
Sık sık kategoriler için anket yok mu? Örneğin, her 5 dakikada bir, bu sabun çağrısını yapın ve kategorileri, DB'deki (iyi bir fikir değil) veya memcache'de bir tabloya kaydedin.

$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>'; 
} 

Çok ... 1,2,5 için memcache üzerinde vb minuites sona zamanı ayarlayabilirsiniz: Kullanmak Memcache'ı Eğer

http://memcached.org/

... Burada bir ruff örnektir Kategoriler, önbellek her dolduğunda güncellenir. Diğer sonra önbellek arama süresi dolduğunda 5-10ms daha az olacaktır.

+0

Çok teşekkürler ... Verileri oturumda saklamaya karar verdim, bu iyi bir fikir mi? Oturumda herhangi bir limit veri saklıyor mu? – GioGio

İlgili konular