cachemon v1.0.7
Modules
Classes
Constants
Functions
Cachemon
- Cachemon
- exports.initialize ⇒ Promise.<any> ⏏
- exports.resource ⇒ CacheMonClient ⏏
- exports.hasKey ⇒ ⏏
- exports.cacheMiddleware ⇒ function ⏏
- exports.getResource ⇒ * ⏏
- generateHash(str) ⇒ * | PromiseLike.<ArrayBuffer> ⏏
exports.initialize ⇒ Promise.<any> ⏏
Kind: global constant of Cachemon
Param |
---|
config |
exports.resource ⇒ CacheMonClient ⏏
Kind: global constant of Cachemon
Param |
---|
clientConfig |
Example
const cnrCache = new CacheMonClient({
name: 'DATA',
executeCronJob: false,
cronPeriod: '0 * * * * *',
cronExecutorFn: (done) => {
i++;
console.log('Running');
request({
url: 'https://api.github.com/users/rajatady/repos?per_page=10',
headers: {
'User-Agent': 'request'
}
}, (err, response, body) => {
if (err) {
done();
} else {
cnrCache.updateResourcePool(body)
.then(res => {
console.log('Done');
})
.catch(err => {
console.log(err);
})
}
});
},
requestMethod: 'GET',
urlDomain: '/data'
});
cnrCache.on('updated', (data) => {
console.log('Updated');
});
export default resource(cnrCache);
exports.hasKey ⇒ ⏏
Kind: global constant of Cachemon
Returns: Promise
Param | Type |
---|---|
url | |
cacheModel | CacheMonClient |
exports.cacheMiddleware ⇒ function ⏏
Kind: global constant of Cachemon
Param | Type |
---|---|
cacheModel | CacheMonClient |
exports.getResource ⇒ * ⏏
Kind: global constant of Cachemon
Param |
---|
resourceName |
generateHash(str) ⇒ * | PromiseLike.<ArrayBuffer> ⏏
Kind: global method of Cachemon
Param |
---|
str |
CacheMonClient ⇐ EventEmitter
Kind: global class
Extends: EventEmitter
new CacheMonClient(options)
Param | Type | Default | Description |
---|---|---|---|
options | Object | The options for the Cachemon Client | |
options.name | String | The name of the client for which resources have to be scoped | |
options.allowFiltering | String | Whether the domain should allow data filtering (Planned) | |
options.urlDomain | String | The url domain registered with express. To be used for advanced caching (Planned) | |
options.requestMethod | String | GET | The HTTP request method for the url domain (Planned) |
options.cronPeriod | String | The cron period in a standard glob format. Refer to https://www.npmjs.com/package/node-cron for more | |
options.purgeCronPeriod | String | The cron period for the purge function in a standard glob format. Refer to https://www.npmjs.com/package/node-cron for more | |
options.executeCronJob | Boolean | Should the cron function be executed | |
options.cronExecutorFn | function | The function to be executed whenever the cron job runs | |
options.updaterFn | function | The function to be executed whenever request is served from cache | |
options.purgeFn | function | The function to be executed whenever cron time for purge is reached | |
options.shouldRunUpdater | Boolean | false | Should the updater function run |
options.shouldRunPurge | Boolean | false | Should the purge function run |
options.maintainUrls | Boolean | false | Should a new data pool be created based on request url |
options.preSendCallback | function | The function which gets the control once the data from cache is evaluated and is ready to be sent |
setData(key, value) ⇒ Promise.<any>
Set some data in the resource. The key will be prefixed with the resource name specified earlier
Kind: global function
Param | Type | Description |
---|---|---|
key | String | The key to be put in the cache |
value | String | The data to be saved |
getData(key) ⇒ Promise.<any>
Get some data from the resource. The key will be prefixed with the resource name specified earlier
Kind: global function
Param | Type | Description |
---|---|---|
key | String | The key to fetch from the cache |
setResourcePool(resourcePoolData) ⇒ Promise.<any>
Sets the data in the resource pool
Kind: global function
Param | Type | Description |
---|---|---|
resourcePoolData | String | Set the data in the resource pool |
getResourcePool() ⇒ Promise.<any>
Get the data from the resource pool
Kind: global function
appendToResourcePool(appendData) ⇒ Promise.<any>
Kind: global function
Param |
---|
appendData |
updateResourcePool(updateData, preventEmit) ⇒ Promise.<any>
Kind: global function
Param | Type |
---|---|
updateData | |
preventEmit | Boolean |
runCronJob()
Kind: global function
saveMeta(key, value) ⇒ Promise.<any>
Set the meta info in the cache
Kind: global function
Param |
---|
key |
value |
getMeta() ⇒ Promise.<any>
Get the meta info saved in the cache
Kind: global function
invalidateResourcePool() ⇒ Promise.<any>
Kind: global function
runUdaterFunction()
Manually run the updater function
Kind: global function