efficient-cache
v1.0.0
Published
A super effecient Cache Manager, which removes all undefined/null/false keys and re-add's the back, when calling .get
Downloads
8
Maintainers
Readme
Fast-Cache
A super efficient Cache Manager, which removes all undefined/null/false keys and re-add's the back, when calling .get
Why?
When saving values in maps, you often have a lot of undefined, null keys and empty objects. When saving them, the Keys itself uses memory, which could follow to a higher ram usage and to a slower response time. This Package automatically remove nullish keys and transform them back on a DataSet Class, when calling get.
In Work:
- Cache Lifetime (Dynamic Lifetime, delete when lasttime accessed)
- Manual Cache Sweeper (+ optional filter)
- Collection form (new Array Funtions on the Collection:
.find
,.filter
,.last()
,.first()
) - Remove empty Arrays
npm install efficient-cache
If you need help feel free to join our discord server. We will provied you all help ☺
See below for the Docs
You have to require the Package and create a new Collection with it. See the examlple below
const dataset = require('./Test.js') //A Dataset is shown below
const Manager = require('efficient-cache');
const cache = new Manager({dataset: dataset});
cache.set(`hello`, {food: true, water: null}}})
cache.set(`hello2`, {food: null, water: `10`}})
cache.get(`hello`)) //Get The Value
cache.first()) //The First Value in the Map
Transformer Class
class Test{
constructor(data){
this.food = data.food || false;
this.test = data.test || {data: []}
this.water = data.water || false;
}
}
References:
**new Manager({dataset: DATASET, transformerClass: TRANSFORMERCLASS})
**
| Option | Type | Default | Description |
| ------------- | ------------- | ------------- | ------------- |
| DATASET | Class |'required' | The Class, in which the Data should be transformed|
| TRANSFORMERCLASS | Class | not required | The Class, where the Dataset Class gets transformed on|
Collection Options:
|Function |Description|
| ------------- | ------------- |
|.get(key) | Gets the transformed Data Object from the Map|
|.set(key, value) | Sets the Data in the Map and removes all nullish keys|
|.first(amount) | Gets the first x
(amount) in the map |
| .sweep(lifetime) | Deletes the Cache, which is older than the Lifetime |
Have fun and feel free to contribute/suggest or contact me on my discord server or per dm on Meister#9667
Bugs, Glitches and Issues
If you encounter any problems feel free to open an issue in our github repository or join the discord server.