koa-incache

    0.6.0 • Public • Published

    koa-incache

    Koa cache middleware

    Installation

    Koa-incache requires koa2 and node v7.6.0 or higher

    npm install koa-incache --save
    

    Example

    Basic usage

    const cache = require('koa-incache');
    const koa = require('koa');
    const app = new koa();
     
    app.use(cache());
     
    app.use(ctx=>{
        const result = 'hello world';
        ctx.cached(result);
        ctx.body = result;
    });
     
    app.listen(3000);

    Routing

    The cache is made using ctx.originalUrl as key

    const fs = require('fs');
    const cache = require('koa-incache');
    const koa = require('koa');
    const Router = require('koa-router');
    const app = new koa();
    const router = new Router();
     
    app.use(cache({
        maxAge: 60000 // 1 minute max age
    }));
     
    router.get('/this/is/cached', function (ctx, next) {
        const content = fs.readFileSync('myFile');
        ctx.cached(content);
        ctx.body = content;
    });
     
    router.get('/this/is/not/cached', function (ctx, next) {
        const content = fs.readFileSync('myFile');
        ctx.body = content;
    });
     
    router.get('/uncache', function (ctx, next) {
        const content = fs.readFileSync('myFile');
        ctx.cached(content);
        
        if(foo)
            ctx.uncache();
        
        ctx.body = content;
    });
     
    app
        .use(router.routes())
        .use(router.allowedMethods());
     
    app.listen(3000);

    Access to InCache instance

    From koa context it's possible get InCache by ctx.cache

    router.get('/my/root', function (ctx, next) {
        ctx.cache.set('my key', 'my value');
        //...
    });

    API context

    • cached accept an argument that is the content to be stored
    • uncache remove cache for context root

    For more info about InCache click here

    Changelog

    You can view the changelog here

    License

    koa-incache is open-sourced software licensed under the MIT license

    Authors

    Fabio Ricali

    Davide Polano

    Install

    npm i koa-incache

    DownloadsWeekly Downloads

    14

    Version

    0.6.0

    License

    MIT

    Unpacked Size

    82.5 kB

    Total Files

    18

    Last publish

    Collaborators

    • avatar