Langsame Ergebnisse mit FILECACHE auf der Festplatte zwischenspeichern
FILECACHE(id, expiration, callback, maker) sucht eine Cache-Datei für id. Existiert sie und ist jünger als expiration (ein Text wie '1 minute'), erhält der Callback ihren Inhalt; andernfalls ruft es maker(done) auf, um den Wert zu berechnen, speichert ihn und gibt ihn zurück. Das Ergebnis wird als JSON serialisiert. Anders als CACHE übersteht es Neustarts und eignet sich für große Ergebnisse.
exports.install = function() {
ROUTE('GET /report/', report);
};
var computed = 0;
function report($) {
FILECACHE('monthly-report', '1 minute', function(err, response) {
$.json({ report: response, computed: computed });
}, function(done) {
// The expensive work goes here
computed++;
done(null, { total: 42, generated: computed });
});
}