URL key-value cache.
npm install urlcache> URL key-value cache.
Node.js >= 0.10 is required; < 4.0 will need an Object.assign polyfill. To install, type this at the command line:
``shell`
npm install urlcache
js
var UrlCache = require("urlcache");
var cache = new UrlCache(options);
`
Methods
Note: all instances of url can be either a String or a url.parse()-compatible Object.$3
Removes the url key-value pair. If the url argument is not defined, all pairs will be removed.$3
Returns the stored value of url. If no such value exists, undefined will be returned.$3
Returns the number of stored key-value pairs.$3
Stores value (any type) into url key. Optionally, define expiryTime to override options.expiryTime.
`js
cache.set("url", {"key":"value"});
cache.get("url"); //=> {"key":"value"}cache.set("url", new Promise(function(resolve, reject) {
// set value after some delayed event
setTimeout(function() {
resolve("value");
}, 500);
});
Promise.resolve(cache.get("url")).then(function(value) {
console.log(value); //=> "value"
});
`
Options
$3
Type: Object
Default value: see urlobj.parse() options
A map of protocol default ports for options.normalizeUrls.$3
Type: Number
Default value: Infinity
The number of milliseconds in which a cached value should be considered valid.$3
Type: Boolean
Default value: true
When true, will remove unnecessary URL parts in order to avoid duplicates in cache.$3
Type: Boolean
Default Value: true
When true, will remove #hashes from URLs. They are most likely not useful to you because they are local to the document that contains them.
Changelog
* 0.7.0 support for Node.js v9
* 0.6.0 added .length() and removed Object.assign() polyfill
* 0.5.0 removed use of Promises as they were unnecessary
* 0.4.0 simpler Promise-based API
* 0.3.0 added options.defaultPorts`, more tests
[npm-image]: https://img.shields.io/npm/v/urlcache.svg
[npm-url]: https://npmjs.org/package/urlcache
[bower-image]: https://img.shields.io/bower/v/urlcache.svg
[bower-url]: https://github.com/stevenvachon/urlcache
[travis-image]: https://img.shields.io/travis/stevenvachon/urlcache.svg
[travis-url]: https://travis-ci.org/stevenvachon/urlcache
[david-image]: https://img.shields.io/david/stevenvachon/urlcache.svg
[david-url]: https://david-dm.org/stevenvachon/urlcache