1.0.1 • Published 1 year ago

koa-redis-cache2 v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

NPM version Build status Test coverage License Dependency status

koa-redis-cache

How to use ?

const cache = require('koa-redis-cache')
const Koa = require('koa')
const app = new Koa()

const options = {
  expire: 60,
  routes: ['/index']
}

app.use(cache(options))

options

  • prefix
    • type: String or Function
    • redis key prefix, default is koa-redis-cache:
    • If a function is supplied, its signature should be function(ctx) {} and it should return a string to use as the redis key prefix
  • expire
    • type: Number
    • redis expire time (second), default is 30 * 60 (30 min)
  • passParam
    • type: String
    • if the passParam is existed in query string, not get from cache
  • maxLength
    • type: Number
    • max length of the body to cache
  • routes
    • type: Array
    • the routes to cache, default is ['(.*)']
    • It could be ['/api/(.*)', '/view/:id'], see path-to-regexp
  • exclude
    • type: Array
    • the routes to exclude, default is []
    • It could be ['/api/(.*)', '/view/:id'], see path-to-regexp
  • onerror
    • type: Function
    • callback function for error, default is function() {}
  • redis
    • type: Object
    • redis options
  • redis.port
    • type: Number
  • redis.host
    • type: String
  • redis.options

set different expire for each route

const cache = require('koa-redis-cache')
const Koa = require('koa')
const app = new Koa()

const options = {
  routes: [{
    path: '/index',
    expire: 60
  }, {
    path: '/user',
    expire: 5
  }]
}

app.use(cache(options))

notes

  • koa-redis-cache will set a custom http header X-Koa-Redis-Cache: true when the response is from cache

License

MIT

测试包

npm link