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