简单的内存缓存模块 - Smache
介绍
[sm]art + c[ache] = smache
Smache 是一个方便的内存缓存模块,可以通过一些简单缓存策略避免无限占用更多的内存,同时确保最常用最应该被缓存的对象被缓存。
GitHub: https://github.com/Houfeng/smache
安装
npm install smache --save
用法
const Cache = require('smache');
//创建实例
var cache = new Cache({
//最多缓存的对象数量,省略时表示不做数量限制
//在达到最大数量时,会移除「最久没用到的」的缓存项
max: 1000,
//最长缓存生命周期,单位毫秒,省略时表示永久
//到期时自动移除
ttl: 1000 * 60
});
//添加
cache.set(key,value);
cache.set(key,value,ttl); //可以单设定某项的 ttl
//获取
var value = cache.get(key);
//移除
cache.remove(key);
//清空
cache.clear();
9 回复
这个在简单存储session的时候很合适,研究下用这个代替不可管理的内存
我擦,原来使用过你的markdown的解析器
@hezhongfeng 膜拜一下侯大大
在分布式情况下作用就非常有限了。
👍
很好 From Noder
ttl管理是什麼手段?我看看
@captainblue2013 感觉应该类似队列,入栈的时候对ttl进行排序,当然我猜的,一会去翻翻源码,不过感觉这模块应该只在单线程下发挥作用吧。。。