Jonathan
An in-memory cache for Node
Installation
Jonathan can be installed into your project via NPM:
npm install jonathan --save
Tests
Jonathan was written using test-driven development (TDD) with Mocha. To run the tests, clone the repository, install Mocha globally, and invoke it at the command line with the project's directory:
mocha tests/*
APIs
Number.prototype
polyfills
This module creates attaches a set of methods to Number's prototype so that you can write durations more fluently, such as:
jonathan.add('key', 'value', (2).weeks);
jonathan.add('key', 'value', (5).months);
These methods simply multiply the Number object on which you've called the method by a predefined amount of milliseconds. You should never need to invoke them yourself; Jonathan will do it for you.
Here are all of the attached methods:
Number.prototype.seconds
Number.prototype.minutes
Number.prototype.hours
Number.prototype.days
Number.prototype.weeks
Number.prototype.months
Number.prototype.years
jonathan
####init()
- Function
Initialises the cache
####invalidate()
- Function
Invalidates the entire cache
####add(key, value, duration)
- Function
Adds an object to the cache under a specific key. If the duration
parameter is not specified, it will be stored indefinitely, otherwise a function returning a Number
is required (see Number.prototype polyfills.)
####get(key)
- Function
Retrieves a value from the cache by the specified key. If the key is not present in the cache, this method will return undefined
.
####remove(key)
- Function
Removes a key, and its accompanying value, from the cache.