@bemoje/max-age-cache v1.0.0
@bemoje/max-age-cache
Simple key-value cache with configurable maximum age of entries. After expiry, keyvals are automatically deleted in order to free up memory.
Module Compatibility
Stats
Installation
Enter one of these into your console to install using npm / node.
npm install @bemoje/max-age-cache
npm install --save @bemoje/max-age-cache
npm install --save-dev @bemoje/max-age-cache
Usage
// import library
import MaxAgeCache from '@bemoje/max-age-cache'
// create new instance with 500 ms maximum age
const cache = new MaxAgeCache(500)
// add keyvals
cache.set('a', 1)
cache.set('b', 2)
cache.set('c', 3)
// check if value exists at key
cache.has('b')
//=> true
// get a value at key
cache.get('c')
//=> 3
// delete a cache value at key
cache.del('c')
// get all cache's keys
cache.keys()
//=> ['a', 'b']
// get all cache's values
cache.values()
//=> [1, 2]
// get all cache's keyvals as entries
cache.entries()
//=> [['a', 1], ['b', 2]]
// get all cache's keyvals as object
cache.toObject()
//=> {a: 1, b: 2}
// let cache entries expire after 1200 ms and check existence before and after
cache.has('a')
//=> true
setTimeout(() => {
cache.has('a')
//=> false
}, 1200)
API
MaxAgeCache
maxAgeMs
number The number of milliseconds that is the maximum age of entries.
Returns MaxAgeCache A new MaxAgeCache instance.
maxAge
Sets the maximum age for new entries.
ms
number The number of milliseconds to be the maximum age of entries.
Returns void void
set
Add a keyval to the cache. Chainable.
key
string The keyvalue
any The value
Returns MaxAgeCache this self
get
Add a keyval to the cache. Chainable.
key
string The keyresetAge
(optional, defaulttrue
)
Returns (null | any) The retrieved value
has
Check whether a key exists.
key
string The key
Returns boolean boolean
del
Delete a key and its corresponding value.
key
string The key
Returns void void
keys
Returns all keys as an array.
key
string The key
Returns Array<string> An array of string keys.
values
Returns all values as an array.
key
string The key
Returns [Array<any> An array of values.
entries
Returns all entries as an array.
key
string The key
Returns Array<Array<string, any>> An array of entries.
toObject
Returns all data as an object of the cache's keys and values.
key
string The key
Returns object object
Support
Please open an issue for support.
Contributing
Please contribute using Github Flow. Create a branch, add commits, and open a pull request.
License
Copyright (c) 2020 | MIT | Benjamin M Jensen <bemoje@gmail.com>
4 years ago