WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   APC till xcache (https://www.wn.se/forum/showthread.php?t=1053175)

Marmoth 2012-04-23 21:11

APC till xcache
 
Har efter mycket om och men fått besked på att jag kan använda xcache på mitt webbhotell, one.com.

Problemet jag har är att jag verkligen inte vet hur jag ska gå tillväga för att skriva om min kod från APC till xcache (har fått en del hjälp från en vän med APC:n och vill inte belasta honom för mycket)

Här är åtminstone koden. Är det någon som har tips eller hintar var jag ska börja? Vad behövs modifieras? Är det mycket?

Tack på förhand.

<?php

$yql_query = "http://query.yahooapis.com/v1/public/yql?q=select%20symbol%2c%20ChangeRealtime%2c%20Ask %2c%20Bid%2c%20PercentChange%2c%20LastTradeDate%2c %20DaysLow%2c%20DaysHigh%2c%20YearLow%2c%20YearHig h%2c%20LastTradePriceOnly%2c%20TwoHundreddayMoving Average%2c%20Open%2c%20Volume%20from%20yahoo.finan ce.quotes%20where%20symbol%20in%20%28%22ABB.ST%2BA LFA.ST%2BAOIL-SDB.ST%2BASSA-B.ST%2BAZN.ST%2BATCO-A.ST%2BATCO-B.ST%2BLJGR-B.ST%2BALIV-SDB.ST%2BAXFO.ST%2BBOL.ST%2BCAST.ST%2BELUX-A.ST%2BELUX-B.ST%2BEKTA-B.ST%2BERIC-A.ST%2BERIC-B.ST%2BFABG.ST%2BGETI-B.ST%2BHM-B.ST%2BHAKN.ST%2BSHB-A.ST%2BSHB-B.ST%2BHEXA-B.ST%2BHOLM-A.ST%2BHOLM-B.ST%2BHUFV-A.ST%2BHUFV-C.ST%2BHUSQ-A.ST%2BHUSQ-B.ST%2BINDU-A.ST%2BINDU-C.ST%2BINVE-A.ST%2BINVE-B.ST%2BKINV-A.ST%2BKINV-B.ST%2BLATO-B.ST%2BLUND-B.ST%2BLUMI-SDB.ST%2BLUPE.ST%2BMEDA-A.ST%2BMELK.ST%2BMIC-SDB.ST%2BMTG-A.ST%2BMTG-B.ST%2BNCC-A.ST%2BNCC-B.ST%2BNDA-SEK.ST%2BORI-SDB.ST%2BPEAB-B.ST%2BRATO-A.ST%2BRATO-B.ST%2BSAAB-B.ST%2BSAND.ST%2BSCA-A.ST%2BSCA-B.ST%2BSCV-A.ST%2BSCV-B.ST%2BSEB-A.ST%2BSEB-C.ST%2BSECU-B.ST%2BSMF.ST%2BSKA-B.ST%2BSKF-A.ST%2BSKF-B.ST%2BSSAB-A.ST%2BSSAB-B.ST%2BSTE-A.ST%2BSTE-R.ST%2BSWED-A.ST%2BSWED-PREF.ST%2BSWMA.ST%2BTEL2-A.ST%2BTEL2-B.ST%2BTLSN.ST%2BTIEN.ST%2BTREL-B.ST%2BWALL-B.ST%2BVOLV-A.ST%2BVOLV-B.ST%22%29%20%7c%20sort%28field%3D%22ChangeRealtim e%22%2c%20descending%3D%22true%22%29%0a%09%09&diag nostics=true&env=http://datatables.org/alltables.env&format=json";

// Number of seconds until the cache gets stale
$cache_timeout = 120;

// Check the cache
$response = request_cache($yql_query, $cache_timeout);

if ($response === false) {
die('Request failed');
}

function request_cache($url, $ttl)
{
if(!$phpObj = apc_fetch($url))
{
$session = curl_init($url);
curl_setopt($session, CURLOPT_RETURNTRANSFER,true);
$finance_data = curl_exec($session);
$phpObj = json_decode($finance_data);

#$phpObj = file_get_contents($url);
if ($phpObj === false) return false;
apc_store($url,$phpObj, $ttl);
}

return $phpObj;
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Aktiekurser</title>
</head>
<body>
<table>
<thead>
<tr>
<th>Namn</th>
<th>Pris</th>
<th>Förändring(%)</th>
<th>Förändring (kr)</th>
<th>Köp</th>
<th>Sälj</th>
<th>Dagshögsta</th>
<th>Dagslägsta</th>
<th>Volym</th>
<th>Datum</th>
<th>200-dagars MA</th>
<th>Ett årslägsta</th>
<th>Ett årshögsta</th>
</tr>
</thead>
<tbody>
<?php
foreach($response->query->results->quote as $quote )
{
?>
<tr>
<!-- Namn --><td><?php echo $quote->symbol ?></td>
<!-- Pris --><td><?php echo $quote->LastTradePriceOnly ?></td>
<!-- Förändring(%) --><td><?php echo $quote->PercentChange ?></td>
<!-- Förändring (kr) --><td><?php echo $quote->ChangeRealtime ?></td>
<!-- Köp --><td><?php echo $quote->Ask ?></td>
<!-- Sälj --><td><?php echo $quote->Bid ?></td>
<!-- Dagshögsta --><td><?php echo $quote->DaysHigh ?></td>
<!-- Dagslägsta --><td><?php echo $quote->DaysLow ?></td>
<!-- Volym --><td><?php echo $quote->Volume ?></td>
<!-- Datum --><td><?php echo $quote->LastTradeDate ?></td>
<!-- 200-dagars MA --><td><?php echo $quote->TwoHundreddayMovingAverage ?></td>
<!-- Ett årslägsta --><td><?php echo $quote->YearLow ?></td>
<!-- Ett årshögsta --><td><?php echo $quote->YearHigh ?></td>
</tr>
<?php
}
?>
</tbody>
<tfoot></tfoot>
</table>
</body>
</html>

Jake.Nu 2012-04-23 22:39

Höll på att skriva i en annan tråd om detta (var säkert din) men avbröt av någon anledning..
I.a.f. så tänkte jag fråga om man ens kan spara valfri "key => value" -data i XCache?
I APC (eller Memcached) går det, jag kan däremot inte se något under http://xcache.lighttpd.net/wiki/Introduction om detta..?

XCache, precis som APC, verkar vara en opcode cache men att cacha valfri data har inget med opcoden att göra..

edit femtiotielva: men.. spara datan i en fil, precis som folk redan har tipsat om..

Jine 2012-04-24 00:34

Citat:

Ursprungligen postat av Jake.Nu (Inlägg 20438618)
I.a.f. så tänkte jag fråga om man ens kan spara valfri "key => value" -data i XCache?.

xcache_set/get finns och fungerar utmärkt.
http://xcache.lighttpd.net/wiki/XcacheApi

Jag är dock jävligt tveksam till att One.com stödjer XCache, men kanske dom gör...

Jag skulle köra simpel file_get_contents/file_put_contents i kombination med fstat() för att kolla timestamp.

Enkelt och simpelt.

Jim_Westergren 2012-04-24 11:10

Jag håller med. Jag hade också sparat ner datan lokalt i en fil och använt filemtime() för att kolla timestamp.

tartareandesire 2012-04-24 11:19

Jag hade valt att spara i databas istället men visst kan man spara ner originalkällan också som en backup (eller om man inte använder all information).

Danielos 2012-04-24 11:33

Jag håller med Jim, spara i fil borde vara det bästa på one, databas sidan är normalt bra, men inte på one, där prestandan är långt under normal webbhotellsstandard.

tartareandesire 2012-04-24 11:47

Citat:

Ursprungligen postat av Danielos (Inlägg 20438662)
Jag håller med Jim, spara i fil borde vara det bästa på one, databas sidan är normalt bra, men inte på one, där prestandan är långt under normal webbhotellsstandard.

Det varierar nog en hel del. Hade en bekant som drev en ganska populär asp-sajt på One.com för några år sedan. Med ca 2000 besökare per dag så var den ändå bra mycket snabbare än många enkla WP-sajter utan trafik som läggs på de stora svenska webbhotellen såsom Loopia, Surftown och City Network. Om han nu blir kvar hos One :)

Med databasen blir det också lite mer flexibelt och han kan göra lite mer med sin data framöver.

Jim_Westergren 2012-04-24 11:49

Filer är mycket snabbare än databas (ca 10 gånger snabbare har jag för mig jag läste någonstans). Och om syftet endast är att cacha så är det bäst. Men om han vill bättre kategorisera sin data/relationer/söka i den osv så är databas nästan alltid bättre.

tartareandesire 2012-04-24 12:00

Citat:

Ursprungligen postat av Jim_Westergren (Inlägg 20438667)
Filer är mycket snabbare än databas (ca 10 gånger snabbare har jag för mig jag läste någonstans). Och om syftet endast är att cacha så är det bäst. Men om han vill bättre kategorisera sin data/relationer/söka i den osv så är databas nästan alltid bättre.

Man behöver ju fortfarande inte använda databasen när man presenterar data.

Marmoth 2012-04-24 13:18

Tack för era förslag.

Jim, jag har skickat ett PM till dig. Vet inte om det gick fram för det skickades via min iPhone.


Alla tider är GMT +2. Klockan är nu 22:44.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson