Osobiście polecam prosty system cachowania, który działa tak:
1. pobierz dane z bazy
2. renderuj stronę wynikową do pliku
3. ustaw czas ważności pliku na x sekund
4. jeśli jest plik i czas pliku > 0
5. wczytaj ranking z pliku
6. w przeciwnym wypadku odśwież plik informacjami z bazy.
<?php
// jeśli wyrzuca błąd Notice: Undefined variable: main_content in C:\xampp\htdocs\plik.php on line 9 zmień w config.ini
// z error_reporting = E_ALL | E_STRICT na error_reporting = E_ALL & ~E_NOTICE
$cache_sec = 15;
$f = 'highscores.tmp';
if(file_exists($f) && filemtime($f) > (time() - $cache_sec))
{
$main_content .= file_get_contents($f);
echo $main_content;
}
else {
$main_content .= '<TABLE BORDER="0" CELLSPACING="1" CELLPADDING="4" WIDTH="100%">
<tr BGCOLOR="brown">
<TD COLSPAN="4">Statistic</TD>
</TR>
<TR BGCOLOR="brown">
<TD>ID</TD>
<TD>Name</TD>
<TD>Level</TD>
<TD>Exp</TD>
</TR></TABLE>';
// tutaj wykonywanie zapytań do bazy danych oraz wstawianie wartości do tabeli
echo $main_content;
file_put_contents($f, $main_content);
}
?>
Pozdrawiam