Mysql
 sql >> Database >  >> RDS >> Mysql

La migliore tecnica per memorizzare nella cache i risultati di query che cambiano di rado

Nella funzione per generare la tabella, fai in modo che memorizzi il risultato in un file su disco:

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

Non devi necessariamente eseguire un lavoro batch settimanale per questo, quando chiami la funzione per ottenere i dati, controlla se la cache non è aggiornata (o inesistente). In tal caso, genera e memorizza nella cache i risultati. In caso contrario, restituisci semplicemente il file memorizzato nella cache.

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

Il cacheIsStale() funzione potrebbe semplicemente guardare i timestamp del file per testare la freschezza.