npm

Need private packages and team management tools?Check out npm Orgs. »

lru-ram

1.1.1 • 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.

Keywords

install

npm i lru-ram

Downloadsweekly downloads

10

version

1.1.1

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability