koa2-url-cache
Koa 2 middleware for cache response data.
- regular match url. path-to-regexp
- cache data in redis.
Install
npm install koa2-url-cache --save
Get start
const config = {
redis: {
host: '121.196.203.34',
port: 6379,
password: '',
db: 0,
},
urls: {
'/api/user/:name': {
ttl: 30, // seconds
}
}
}
app.use(cache(config));
refresh
Delete cache manual, qury url add parameter refresh=1
demo
/api/user/list?refresh=1
Config
redis
prefix [optional]
- Default 'page'
-
prefix
is redis prefix key to storage cache data.
disable [optional]
- Default false
- Diasble cache for all routes
loggerLevel [optional]
- Default 'info'
- Power by winston
http code 200
only cache http code==200 error
addHeaders {Object} [optional]
Add all key-value to response headers.
addHeaders: {
"Access-Control-Allow-Origin": "http://localhost:8080",
"Access-Control-Allow-Methods": "POST, GET, OPTIONS",
"Access-Control-Allow-Headers": "*"
}
urls {Object}
-
key
is match by path-to-regexp-
ttl
{integer} expire in ttl. seconds。no cache ,setttl = null
-
addHeaders
{Object}. It will cover the top leveladdHeaders
-
'/api/user': {
ttl: '30', // seconds
addHeaders: { // custom headers
'x-power':'lx'
}
},
example:
- /foo/:bar
- /:foo/:bar?
- /:foo(\d+) more: path-to-regexp ...