整合内容静态化

router\web\index.js:

const Router = require('koa-router');

let router = new Router();
// 静态化
// 寻找缓存
router.get('/', async (ctx, next)=>{
    let key = 'page:';
    let maxage = 1 * 86400 * 1000;
    let data = await ctx.redis.getAsync(key);

    if(data) {
        console.log('from cache')
        ctx.body = data;
    }else{
        console.log('from render')
        await next();
        await ctx.redis.psetexAsync(key, maxage, ctx.body);

    }
})
// 生成
router.get('/', async ctx=>{
    ctx.body = '首页';
});

module.exports = router.routes();

在这里插入图片描述

独立成工具:
index.js:

const Router = require('koa-router');
const static = require('../../libs/contentStatic');

let router = new Router();
// 静态化
// 寻找缓存
router.get('/', 
    static('page:'),
    // 生成
    async ctx=>{
        ctx.body = '首页';
    }
)

router.get('/', );

module.exports = router.routes();

contentStatic.js:

const assert = require('assert'); // 断言key

module.exports = function(key, maxage = 1 * 86400 * 1000) {
    assert(key, 'key is require');
    return async (ctx, next)=>{
        let data = await ctx.redis.getAsync(key);

        if(data) {
            console.log('from cache')
            ctx.body = data;
        }else{
            console.log('from render')
            await next();
            await ctx.redis.psetexAsync(key, maxage, ctx.body);
        }
    };
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值