- 授权协议: BSD
- 开发语言: JavaScript
- 操作系统: 跨平台
- 软件首页: https://github.com/yahoo/storage-lru
- 官方下载: https://github.com/yahoo/storage-lru/releases
软件介绍
StorageLRU(storage-lru) 是 LRU 缓存实现,可以用在本地存储或者其他存储机制,支持一个类似的接口。
注意:这个库是使用 CommonJS 风格编写的,如果要在浏览器使用,需要使用 Browserify 和 Webpack 类似的工具。
主要特性:
可插拔的离线存储
统计数据
自定义的 PurgeComparator
优先级
自动清理
使用:
var StorageLRU = require('storage-lru').StorageLRU;
var asyncify = require('storage-lru').asyncify;
var lru = new StorageLRU(asyncify(localStorage), {
purgeFactor: 0.5, // this controls amount of extra space to purge.
purgedFn: function (purgedKeys) {
console.log('These keys were purged:', purgedKeys);
}
});
console.log(lru.numItems()); // output 0, assuming the storage is clear
lru.setItem('foo', 'bar', {}, function (err) {
if (err) {
// something went wrong. Item not saved.
console.log('Failed to save item: err=', err);
}
});
lru.setItem('fooJSON', {foo: 'bar'}, {json: true}, function (err) {
if (err) {
// something went wrong. Item not saved.
console.log('Failed to save item: err=', err);
}
});
lru.getItem('foo', {json: false}, function (err, value) {
if (err) {
// something went wrong, for example, can't deserialize
console.log('Failed to fetch item: err=', err);
return;
}
console.log('The value of "foo" is: ', value);
});
lru.removeItem('foo', function (err) {
if (err) {
// something went wrong. Item not removed.
}
});
var stats = lru.stats();
The Little Schemer
[美] Daniel P. Friedman、[美] Matthias Felleisen / 卢俊祥 / 电子工业出版社 / 2017-7 / 65.00
《The Little Schemer:递归与函数式的奥妙》是一本久负盛名的经典之作,两位作者Daniel P. Friedman、Matthias Felleisen在程序语言界名声显赫。《The Little Schemer:递归与函数式的奥妙》介绍了Scheme的基本结构及其应用、Scheme的五法十诫、Continuation-Passing-Style、Partial Function、......一起来看看 《The Little Schemer》 这本书的介绍吧!
