Modules

Cachemon

Classes

CacheMonClientEventEmitter

Constants

exports.initializePromise.<any>
exports.resourceCacheMonClient
exports.hasKey ⇒ ⏏
exports.cacheMiddlewarefunction
exports.getResource*

Functions

generateHash(str)* | PromiseLike.<ArrayBuffer>
setData(key, value)Promise.<any>

Set some data in the resource. The key will be prefixed with the resource name specified earlier

getData(key)Promise.<any>

Get some data from the resource. The key will be prefixed with the resource name specified earlier

setResourcePool(resourcePoolData)Promise.<any>

Sets the data in the resource pool

getResourcePool()Promise.<any>

Get the data from the resource pool

appendToResourcePool(appendData)Promise.<any>
updateResourcePool(updateData, preventEmit)Promise.<any>
runCronJob()
saveMeta(key, value)Promise.<any>

Set the meta info in the cache

getMeta()Promise.<any>

Get the meta info saved in the cache

invalidateResourcePool()Promise.<any>
runUdaterFunction()

Manually run the updater function

Cachemon

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