Lassú eredmények lemezre gyorsítótárazása FILECACHE-sel
A FILECACHE(id, expiration, callback, maker) gyorsítótár-fájlt keres az id-hoz. Ha létezik, és fiatalabb, mint az expiration (szöveg, például '1 minute'), a callback megkapja a tartalmát; különben meghívja a maker(done)-t az érték kiszámolásához, eltárolja és visszaadja. Az eredmény JSON-ként szerializálódik. A CACHE-sel ellentétben túléli az újraindítást, és nagy eredményekhez is jó.
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 });
});
}