Skip to content

evanshortiss/expeditious-engine-memory

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

expeditious-engine-memory

Circle CI

An in memory engine for expeditious. Cache entries are - you guessed it - stored in the node.js process memory. This cache engine will lose everything stored if your process restarts, and could lead to memory bloat and slow garbage collections if you're not careful with the size and volume of entries!

Usage

You can use this module standalone or with expeditious which is the recommended approach since it simplifies interactions and allows you to easily switch cache engines.

var expeditious = require('expeditious');

var countries = expeditious({
  // Use the expeditious memory engine
  engine: require('expeditious-engine-memory')(),
  // Prefix all entries with 'countries'
  namespace: 'countries',
  // Auto parse json entries
  objectMode: true,
  // 1 hour timeout for entries
  defaultTtl: (60 * 1000 * 60),
});

countries.set({
  key: 'ireland',
  value: {
    population: '4.595 million',
    capital: 'Dublin'
  }
}, function (err) {
  if (!err) {
    console.error('failed to add "ireland" to the cache');
  } else {
    console.log('add "ireland" to the cache');
  }
});

API

Each API function takes a callback function as the last parameter and it receives up to two arguments as per node.js convention, error err and an optional result, res.

set(key, value, expire, callback)

Set a key (String) in the cache with a given (String) value. expire must be a Number greater than 0.

get(key, callback)

Get a specific item from the cache. Returns null if the entry is not found.

del(key, callback)

Delete a specific item from the cache. Callback receives only an error parameter.

keys(callback)

List all keys that this engine instance contains.

ttl(key, callback)

Get the time left before key expires. Returns null as res if the entry is not found.

flush(callback)

Flush all items from the engine instance.

About

storage engine for expeditious that uses node.js process memory

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published