Skip to content

callmewa/litecache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

liteCache

Synchronous NodeJS internal cache.

A purely synchronous lightweight cache module with constant-time set, get and del methods that works like a dictionary map. Cache supports ttl for expired value removal. Expired keyValue pairs are only pruned on get or del. No tasks are scheduled in the node event loop. Built-in support for null value and integer keys. If you want stale key-removal scheduler, multi-key support, or event handling then look at node-cache. If you do not need nor want to "pay" for those features then liteCache is for you. LiteCache has no external dependencies. Feel free to comment and contribute!

Install

  npm install litecache

Or just require the lite_cache.js file to get the superclass

Examples:

Initialize:

var LiteCache = require( "litecache" );
var cache = new LiteCache();

Store a key (SET):

cache.set( key, val, [ ttl ] )

Sets a key to value. Optionally provide ttl (in seconds).

obj = { aNumber: 42 };
cache.set( "aKey", obj, 10);
cache.set( 123, 123);
cache.set('null', null);

Retrieve a key (GET):

cache.get( key )

Gets the stored value from cache. Returns undefined if not found or expired. If expired, the keyValue will be removed from the cache before returning.

Delete a key (DEL):

cache.del( key )

Delete a key. Returns the value for the given key if exist.

List keys (KEYS)

cache.keys()

Returns an array of all existing keys.

Statistics (STATS):

cache.getStats()

Returns the statistics.

cache.getStats();
  /*
    {
      keys: 0,    // key count
      hits: 0,    // hit count
      misses: 0,  // miss count
    }
  */

Flush data (FLUSH):

cache.flush()

Flush all data. Reset internal counters.

About

nodeJs local cache

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published