Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Beste Methode zum Zwischenspeichern von Ergebnissen aus Abfragen, die sich selten ändern

Lassen Sie in der Funktion zum Generieren der Tabelle das Ergebnis in einer Datei auf der Festplatte speichern:

/cache/groups/1.txt
/cache/groups/2.txt

Sie müssen dafür nicht unbedingt einen wöchentlichen Batch-Job ausführen. Überprüfen Sie beim Aufrufen der Funktion zum Abrufen der Daten, ob der Cache veraltet (oder nicht vorhanden) ist. Wenn dies der Fall ist, generieren und cachen Sie die Ergebnisse. Wenn nicht, geben Sie einfach die zwischengespeicherte Datei zurück.

function getGroupTable($groupId) {
    if (cacheIsStale($groupId)) {
        generateCache($groupId);
    }
    return file_get_contents($cacheFile);
}

Der cacheIsStale() Die Funktion könnte sich einfach die Zeitstempel der Datei ansehen auf Frische testen.