SQL Cache

SPIP cachet bepaalde elementen van de database om ongewenste oproepen naar de SQL Server te voorkomen en om ervoor te zorgen dat de weergave van publieke pagina’s die zich al in de cache bevinden ook kan werken als de databaseserver niet beschikbaar is. Zo ontstaan er twee caches.

Meta-cache

De eerste is een volledige export van de SQL tabel spip_meta. In deze tabel worden de parameters voor de configuratie of de werking van SPIP opgeslagen. Deze informatie wordt opgeslagen in de globale variabele $GLOBALS['meta'] en, met uitzondering van gevoelige gegevens gebruikt voor authenticatie, in het bestand tmp/meta_cache.php. Dit bestand heeft een geldigheidsperiode gedefinieerd door _META_CACHE_TIME. Het wordt herschreven wanneer ecrire_meta() of effacer_meta() wordt aangeroepen. De functie lire_metas() herberekent $GLOBALS['meta'] met de informatie uit de database.

Cache van SQL beschrijvingen

De tweede cache betreft de beschrijving van SQL tabellen in databases. Deze beschrijvingen worden opgeslagen in de bestanden tmp/cache/sql_desc*.txt, met één bestand per database connector. Dit bestand wordt aangemaakt en gebruikt door de functie base_trouver_table_dist() die als basis dient voor verschillende PHP-functies met betrekking tot SQL-beschrijvingen zoals table_objet(), id_table_objet() en objet_type().

Om dit cache-bestand opnieuw aan te maken, moet de functie trouver_table() expliciet worden aangeroepen zonder argument:

$trouver_table = charger_fonction('trouver_table','base');
$trouver_table();

Auteur hanjo Gepubliceerd op:

Vertalingen: English, français, Nederlands