cachemon
v1.0.7
Published
A utiltiy for implementing redis based data caching and querying
Downloads
3
Readme
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