1.1.3 • Published 5 years ago

lru-ram v1.1.3

Weekly downloads
5
License
MIT
Repository
github
Last release
5 years ago

lru-ram

Last version Build Status Coverage Status Dependency status Dev Dependencies Status NPM Status Donate

Calculate the size of your LRU cache in bytes.

I created this tiny module for be easy connect with whatever LRU implementation.

An LRU needs a max number of elements to keep inside the cache.

The idea behind this module is provide an estimate of this value based on a representative element to keep inside the cache and the quantity of memory (in bytes).

Install

$ npm install lru-ram --save

Usage

const lruRam = require('lru-ram')
const os = require('os')

// total bytes for your cache
const totalBytes = os.totalmem() * 0.8

// a representative element
const value = { foo: 'bar', hello: 'world' }

// the library calculate the total of items
const size = lruRam(value, totalBytes)

Then, you can use the calculated number in your favorite LRU implementation, for example:

const lruRam = require('lru-ram')
const LRU = require('lru')
const os = require('os')

// total bytes for your cache
const totalBytes = os.totalmem() * 0.8

// a representative element
const value = { foo: 'bar', hello: 'world' }

// the library calculate the total of items
const size = lruRam(value, totalBytes)
const cache = new LRU(size)

You can specify quantity of bytes in human bytes as well:

const lruRam = require('lru-ram')
const value = { foo: 'bar', hello: 'world' }
const size = lruRam(value, '2GB')

API

lruRam(value, totalBytes)

value

Required Type: object

A representative element of your cache.

We use this value for calculate the size in bytes per each element.

totalBytes

Required Type: Integer

Total of bytes available for the cache.

License

MIT © Kiko Beats.

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

7 years ago

1.1.0

8 years ago

1.0.0

8 years ago