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

ezzy-cache

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ezzy-cache

A lightweight caching system.

  • 3.1.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-80%
Maintainers
1
Weekly downloads
 
Created
Source

ezzy-cache

Greenkeeper badge Build Status Coverage Status

A small library to handle a lightweight memory cache.

New Cache Library
    const Cache = require('ezzy-cache');
    const cache = new Cache();
    
    // or 
    
    const {cache} = require('ezzy-cache');
    
    // or
    
    const cache = require('ezzy-cache').cache;
Get a Library or a Dictionary
Library

A library is simply a scope in where the cache items will be stored. It's helpful to separate cache libraries so we can flush them separately and allow them to timeout at different times.

Dictionary

A dictionary is a cached trie that reads large amounts of data fast without much usage. This could be used with autocomplete features.

    const {cache} = require('ezzy-cache');

    // If myLibrary doesn't exist, it is created on the fly
    const lib = cache.getLibrary('myLibrary');
    
    // If myLibrary doesn't exist, it is created on the fly
    const lib = cache.getDictionary('myDictionary');
CacheLibrary Supporting methods
    const {cache} = require('ezzy-cache');
    const cacheLibrary = cache.getLibrary('myLib');
disable()

Disables the library. Keys will return as undefined.

enable()

Enables the library after it's been disabled. Keys will be available as usual.

flush()

Flushes all the entries.

keys

This is a getter method that returns the keys available.

add(key, value[, timeout])

Adds a key to the library.

remove(key)

Removes a key from the library.

getOrElse(key, promiseFn [, timeout])
  • In my opinion, the most useful method * With this method, you can pass a second argument function that will be processed ONLY if the key is not resolved. This method returns a promise.
    const {cache} = require('ezzy-cache');
    
    let value;
    
    cache.getLibrary('myLib')
      .getOrElse('myKey', () => Promise.resolve('hello'))
      .then(result => {
        // this function will only be invoked every minute
        
        value = result;
        
      }, 60000);

Examples

Get a Key

The regular usage of a cache library is to obtain a key from it. Depending on the timeout, the key will be available or not.

    const {cache} = require('ezzy-cache');
    
    let key;
    
    key = cache.getLibrary('myLib').get('myKey');
    // key -> empty
    key = cache.getLibrary('myLib').get('myKey', true);
    // key -> true
    
    cache.getLibrary('myLib').add('myKey', 555);
    key = cache.getLibrary('myLib').get('myKey', true);
    // key -> 555
Describe

Sometimes you want to output a brief overview description of the cache library, for this, it's helpful to invoke the describe method.

    const {cache} = require('ezzy-cache');
    console.dir(cache.getLibrary('myLib').describe());

FAQs

Package last updated on 27 Sep 2019

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