cachu
Simple, minimalistic key-value cache, created by Devyl.
Why use it?
- fully asynchronous
- small n' easy
- zero dependencies
Installation
Install the package using your favorite manager.
npm i cachu
yarn add cachu
Create a basic cache instance.
import cache from 'cachu'
const myCache = new cache({
max: 10,
maxAge: 60
})
async function demo() {
await myCache.setKey('some key', 'hello world')
}
demo()
Configuration
maxAge
to set the maximum age for each item in the cache
👉 900
(seconds) by default
max
to set the maximum size for the store
👉 Infinity
by default
maxLength
to set the maximum length for each item
👉 Infinity
by default (affects only strings)
Features
setKey(key, value)
to set a new item (will return either true
or false
)
👉 key
can be anything, nevertheless it should be unique
👉 value
can be of any type, doesn't have to be unique
getKey(key)
to get a item
👉 will return the value of the item or null
if it doesn't exist
updateKey(key, value)
to update a key (will return either true
or false
)
👉 key
has to exist, in case it doesn't it'll return false
👉 value
can be of any type, doesn't have to be unique
stealKey(key)
to get a item without modifying anything
👉 will return the value of the item or null
if it doesn't exist
hasKey(key)
to check if a key exists
👉 will return either true
or false
hasValue(value)
to check if any item has a specific value
👉 will return either true
or false
deleteKey(key)
to delete a key
👉 will return either true
or false
purge()
to reset the cache