简单的内存缓存模块 - Smache
发布于 3 个月前 作者 houfeng 791 次浏览 来自 分享

介绍

[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 膜拜一下侯大大

在分布式情况下作用就非常有限了。

ttl管理是什麼手段?我看看

@captainblue2013 感觉应该类似队列,入栈的时候对ttl进行排序,当然我猜的,一会去翻翻源码,不过感觉这模块应该只在单线程下发挥作用吧。。。

回到顶部