26. november 2006 - 21:02Der er
4 kommentarer og 1 løsning
Cached sider ?
Hej, jeg har en masse sider som henter deres indhold i en fælles database. Systemet er begyndt at blive for langsomt fordi der efterhånden er så mange domæner med i systemet. Jeg har bearbejdet mine koder og raffineret en del. og så har jeg prøvet at tune databasen lidt med at lave indeks. Jeg overvejer om det evt kan være en løsning at generere cached udgaver af siderne. Jeg har tænkt på om det gør systemet hurtigere? er det en løsning der hjælper? eller skal jeg finde et bedre webhotel eller hvad?
jeg havde forestillet mig at: htacces skal undersøge om der findes en fil med cached udgave af siden. hvis den findes, skal den vise den. Ellers skal den bruge php til at lave en cached udgave og vise den.
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Det vil gøre siden hurtigere, om den stadig vil være belastet afhænger også lidt af hvor belastet hele systemet er. Men alt andet lige går der hurtigere at hente en html fil end en fil der skal parse php og hente data fra mysql hver gang.
function CachedFileContent( $Content = 'none content' ){ $ip = getenv("REMOTE_ADDR"); $fp = fopen( $this->CacheDir() . $this->FileName(), "w" ); fwrite($fp, "" . time() + $this->Periode . "\n<!-- \n\n\tThis file was created " . date("d/m-Y H:i:s") . " and having a valid periode in " . $this->Periode . "sec.\n\tThis cached file is create by $ip and brought to you by ZOLID.dk \n\n-->\n" . $Content ); fclose($fp); }
function isValid(){ $file = $this->getCachedFileContent(); if ( $file != false ){ $source = file( $this->CacheDir() . $this->FileName() );
function CacheDir(){ if ( !substr( $this->CacheDir, -1 ) == "/" ){ $this->CacheDir .= "/"; } return $this->CacheDir; }
function setCacheDir( $value ){ return $this->CacheDir; }
function FileName(){ return $this->FileName; }
function setFileName( $value ){ $this->FileName = $value; } }
// Rundt om din sql select kan du benytte følgen kode til at cache output til en fil. include_once( "cacheobj.php" ); $cacheobj = new cacheObj(); $cacheobj->setFileName( 'index_link-list.php' ); $cacheobj->setPeriode( 7200 ); $content = $cacheobj->getCachedFileContent( false );
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.