15270821319 4e5c5d37f9 初步设计数据库,注册登录 пре 10 месеци
..
test 4e5c5d37f9 初步设计数据库,注册登录 пре 10 месеци
.lint 4e5c5d37f9 初步设计数据库,注册登录 пре 10 месеци
.npmignore 4e5c5d37f9 初步设计数据库,注册登录 пре 10 месеци
.travis.yml 4e5c5d37f9 初步设计数据库,注册登录 пре 10 месеци
CHANGES 4e5c5d37f9 初步设计数据库,注册登录 пре 10 месеци
LICENCE 4e5c5d37f9 初步设计数据库,注册登录 пре 10 месеци
README.md 4e5c5d37f9 初步设计数据库,注册登录 пре 10 месеци
index.js 4e5c5d37f9 初步设计数据库,注册登录 пре 10 месеци
package.json 4e5c5d37f9 初步设计数据库,注册登录 пре 10 месеци

README.md

lru-queue

Size limited queue based on LRU algorithm

Originally derived from memoizee package.

It's low-level utility meant to be used internally within cache algorithms. It backs up max functionality in memoizee project.

Installation

$ npm install lru-queue

To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: Browserify, Webmake or Webpack

Usage

Create queue, and provide a limit

var lruQueue = require('lru-queue');
var queue = lruQueue(3); // limit size to 3

Each queue exposes three methods:

queue.hit(id)

Registers hit for given id (must be plain string).

queue.hit('raz'); // size: 1

If hit doesn't remove any old item from list it returns undefined, otherwise it returns removed id.

queue.hit('dwa');    // undefined, size: 2
queue.hit('trzy');   // undefined, size: 3 (at max)
queue.hit('raz');    // undefined, size: 3 (at max)
queue.hit('dwa');    // undefined, size: 3 (at max)
queue.hit('cztery'); //  'trzy', size: 3 (at max)

queue.delete(id);

id's can be cleared from queue externally

queue.delete('raz'); // size: 2
queue.delete('cztery'); // size: 1

queue.clear();

Resets queue

queue.clear(); // size: 0

Tests Build Status

$ npm test