Skip to content

Commit

Permalink
o Accept a function for the cache key
Browse files Browse the repository at this point in the history
  • Loading branch information
trasch committed Apr 12, 2016
1 parent 3625604 commit 6a91be0
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,20 @@ var lru = require('tilestrata-lru');
// set total size limit of cache
server.layer('mylayer').route('tile.pbf')
.use(/* some provider */)
.use(lru({size: '20mb' ttl: 30})); // ttl in seconds
.use(lru({size: '20mb', ttl: 30})); // ttl in seconds

// or set a total number of items
server.layer('mylayer').route('tile.pbf')
.use(/* some provider */)
.use(lru({size: 20, ttl: 30}));

// set a function for the cache key
server.layer('mylayer').route('tile.pbf')
.use(/* some provider */)
.use(lru({key: function(req) {
var compressed = /gzip|deflate/.test(req.headers['accept-encoding']) ? 1 : 0;
return req.z+','+req.x+','+req.y+','+req.layer+','+req.filename+','+compressed;
}}));
```

## Contributing
Expand Down
8 changes: 4 additions & 4 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
var SyncCache = require('active-cache/sync');
var filesizeParser = require('filesize-parser');

function key(req) {
return req.z+','+req.x+','+req.y+','+req.layer+','+req.filename+','+req.headers['accept-encoding'];
}

module.exports = function(opts) {
opts = opts || {};

var key = opts.key || function(req) {
return req.z+','+req.x+','+req.y+','+req.layer+','+req.filename;
};

var lruopts = {max: 6};
if (typeof opts.size === 'string') {
lruopts.max = filesizeParser(opts.size);
Expand Down

0 comments on commit 6a91be0

Please sign in to comment.