当前位置 : 主页 > 网页制作 > Nodejs >

Node.js页面缓存

来源:互联网 收集:自由互联 发布时间:2021-06-16
有没有一种简单的方法来在Express中缓存页面,最好是Memcached?我正在使用Jade作为模板系统.我希望为访问者缓存某些页面大约30秒.最好是使用express.render,但我愿意接受建议.谢谢! 你需要
有没有一种简单的方法来在Express中缓存页面,最好是Memcached?我正在使用Jade作为模板系统.我希望为访问者缓存某些页面大约30秒.最好是使用express.render,但我愿意接受建议.谢谢! 你需要处理渲染的结果.

var cache = {};

var getPageFromCache(url, callback) {
    if (cache[url]) {
        // Get page from cache
        callback(undefined, cache[url]);
    } else {
        // Get nothing
        callback();
    }
};

var setPageToCache(url, content) {
    // Save to cache
    cache[url] = content;
};

app.get('/', function(req, res){
    getPageFromCache(req.url, function(err, content) {
        if (err) return req.next(err);
        if (content) {
            res.send(content);
        } else {
            res.render('index.jade', { title: 'My Site' }, function(err, content) {
                // Render handler
                if (err) return req.next(err);
                setPageToCache(req.url, page);
                res.send(content);
            });
        }
    });
});

如果需要,实现getPageFromCache和setPageToCache以使用memcached.

网友评论