urlcache
URL key-value cache and store.
Installation
Node.js >= 0.10
is required. To install, type this at the command line:
npm install urlcache --save-dev
Constructor
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
.
.clear([url])
Removes url
from cache. If url
is not defined, all cached key value pairs will be removed.
.get(url)
Returns the stored value of url
. If no such value exists, undefined
will be returned.
.set(url, value[, expiryTime])
Stores value
(any type) into url
key. Optionally, define expiryTime
to override options.expiryTime
.
cache.set("url", {"key":"value"});
cache.get("url");
cache.set("url", new Promise(function(resolve, reject) {
setTimeout(function() {
resolve("value");
}, 500);
});
Promise.resolve(cache.get("url")).then(function(value) {
console.log(value);
});
Options
options.defaultPorts
Type: Object
Default value: see urlobj.parse() options
A map of protocol default ports for options.normalizeUrls
.
options.expiryTime
Type: Number
Default value: Infinity
The number of milliseconds in which a cached value should be considered valid.
options.normalizeUrls
Type: Boolean
Default value: true
When true
, will remove unnecessary URL parts in order to avoid duplicates in cache.
options.stripUrlHashes
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.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 - 0.2.0 simplified API
- 0.1.0 initial release