StorageLRU LRU 缓存实现开源项目

我要开发同款
匿名用户2015年05月08日
82阅读

技术信息

开源地址
https://github.com/YahooArchive/storage-lru
授权协议
BSD

作品详情

StorageLRU(storage-lru)是LRU缓存实现,可以用在本地存储或者其他存储机制,支持一个类似的接口。

注意:这个库是使用CommoJS风格编写的,如果要在浏览器使用,需要使用Browserify和Webpack类似的工具。

主要特性:

可插拔的离线存储

统计数据

自定义的PurgeComparator

优先级

自动清理

使用:

var StorageLRU = require('storage-lru').StorageLRU;var asycify = require('storage-lru').asycify;var lru = ew StorageLRU(asycify(localStorage), {    purgeFactor: 0.5,  // this cotrols amout of extra space to purge.    purgedF: fuctio (purgedKeys) {        cosole.log('These keys were purged:', purgedKeys);    }});cosole.log(lru.umItems()); // output 0, assumig the storage is clearlru.setItem('foo', 'bar', {}, fuctio (err) {    if (err) {        // somethig wet wrog. Item ot saved.        cosole.log('Failed to save item: err=', err);    }});lru.setItem('fooJSON', {foo: 'bar'}, {jso: true}, fuctio (err) {    if (err) {        // somethig wet wrog. Item ot saved.        cosole.log('Failed to save item: err=', err);    }});lru.getItem('foo', {jso: false}, fuctio (err, value) {    if (err) {        // somethig wet wrog, for example, ca't deserialize        cosole.log('Failed to fetch item: err=', err);        retur;    }    cosole.log('The value of "foo" is: ', value);});lru.removeItem('foo', fuctio (err) {    if (err) {        // somethig wet wrog. Item ot removed.    }});var stats = lru.stats();

功能介绍

StorageLRU(storage-lru) 是 LRU 缓存实现,可以用在本地存储或者其他存储机制,支持一个类似的接口。 注意:这个库是使用 CommonJS 风格编写的,如果要在浏览器使用...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论