Mysql
 sql >> Base de données >  >> RDS >> Mysql

Meilleure technique pour mettre en cache les résultats des requêtes qui changent rarement

Dans la fonction pour générer la table, faites-lui stocker le résultat dans un fichier sur le disque :

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

Vous n'avez pas nécessairement besoin d'exécuter un travail par lots hebdomadaire pour cela, lors de l'appel de la fonction pour obtenir les données, vérifiez si le cache est obsolète (ou inexistant). Si tel est le cas, générez et mettez en cache les résultats. Sinon, renvoyez simplement le fichier en cache.

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

Le cacheIsStale() la fonction pourrait simplement regarder les les horodatages du fichier pour tester la fraîcheur.