express-lru
Version:
Varnish-like cache middleware for Express
37 lines (27 loc) • 1.92 kB
Markdown
[](https://www.npmjs.org/package/express-lru)
[](https://travis-ci.org/naturalatlas/express-lru)
[](https://coveralls.io/r/naturalatlas/express-lru)
[](http://expressjs.com/) middleware that serves as a stopgap for [Varnish](http://en.wikipedia.org/wiki/Varnish_%28software%29) – for times when you don't have time to set up Varnish or want something simpler. A few notes:
- It will only cache `200`-status responses.
- Response headers (like `Content-Type`) will be cached and served like normal.
- Supports JSON, Buffers, and Strings.
- Has a "skip" option that allows for control of what requests bypass the cache. In most cases you’ll want to return `true` for logged in users.
### Example Usage
```js
var expresslru = require('express-lru');
var cache = expresslru({
max: 1000,
ttl: 60000,
skip: function(req) {
return !!req.user;
}
});
app.get('/myroute', cache, function(req, res, next) {
// ...
});
```
Copyright © 2015–2016 [Natural Atlas, Inc.](https://github.com/naturalatlas) & [Contributors](https://github.com/naturalatlas/express-lru/graphs/contributors)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.