lru-ram

1.1.3 • Public • Published

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.

Readme

Keywords

Package Sidebar

Install

npm i lru-ram

Weekly Downloads

0

Version

1.1.3

License

MIT

Unpacked Size

7.39 kB

Total Files

5

Last publish

Collaborators

  • kikobeats