New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

cachemon

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cachemon

A utiltiy for implementing redis based data caching and querying

  • 1.0.7
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

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

ParamType
url
cacheModelCacheMonClient

exports.cacheMiddleware ⇒ function

Kind: global constant of Cachemon

ParamType
cacheModelCacheMonClient

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)

ParamTypeDefaultDescription
optionsObjectThe options for the Cachemon Client
options.nameStringThe name of the client for which resources have to be scoped
[options.allowFiltering]StringWhether the domain should allow data filtering (Planned)
[options.urlDomain]StringThe url domain registered with express. To be used for advanced caching (Planned)
[options.requestMethod]StringGETThe HTTP request method for the url domain (Planned)
[options.cronPeriod]StringThe cron period in a standard glob format. Refer to https://www.npmjs.com/package/node-cron for more
[options.purgeCronPeriod]StringThe cron period for the purge function in a standard glob format. Refer to https://www.npmjs.com/package/node-cron for more
[options.executeCronJob]BooleanShould the cron function be executed
[options.cronExecutorFn]functionThe function to be executed whenever the cron job runs
[options.updaterFn]functionThe function to be executed whenever request is served from cache
[options.purgeFn]functionThe function to be executed whenever cron time for purge is reached
[options.shouldRunUpdater]BooleanfalseShould the updater function run
[options.shouldRunPurge]BooleanfalseShould the purge function run
[options.maintainUrls]BooleanfalseShould a new data pool be created based on request url
[options.preSendCallback]functionThe 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

ParamTypeDescription
keyStringThe key to be put in the cache
valueStringThe 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

ParamTypeDescription
keyStringThe key to fetch from the cache

setResourcePool(resourcePoolData) ⇒ Promise.<any>

Sets the data in the resource pool

Kind: global function

ParamTypeDescription
resourcePoolDataStringSet 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

ParamType
updateData
preventEmitBoolean

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

Keywords

FAQs

Package last updated on 04 Jun 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc