1.0.0 • Published 3 years ago

efficient-cache v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

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.