NPM酷库:lru-cache 基于内存的缓存管理

NPM酷库,每天两分钟,了解一个流行NPM库。

为了优化程序性能,我们常常需要奖数据缓存起来,根据实际情况,我们可以将数据存储到磁盘、数据库、redis等。

但是有时候要缓存的数据量非常小,或者项目规模非常小,也许就是一个工具脚本,使用redis等外部数据库,还得做依赖部署。而直接将数据保存在程序变量中,最经济、快捷。但是这样就会带来一些其他问题,比如缓存更新、缓存过期等。

lru-cache

lru-cache 用于在内存中管理缓存数据,并且支持LRU算法。可以让程序不依赖任何外部数据库实现缓存管理。

  • LRU算法:尽量保留最近使用过的项
  • 可指定缓存大小
  • 可指定缓存项过期时间
const LRU = require('lru-cache');

const cache = LRU({
  max: 500,
  maxAge: 1000 * 60 * 60
});

cache.set('key','value');
cache.get('key'); // "value"

cache.reset(); // 清空

虽然,lru-cache 使用非常方便,但是lru-cache的缓存数据保存在当前进程内存内,这就决定了依赖lru-cache的项目是有状态的程序,这样就不能够分布式部署多实例负载均衡,所以如果系统设计需要多实例运行,那么还是需要使用redis。

参考资料

https://github.com/isaacs/nod...

欢迎关注公众号:梁兴臣

梁兴臣

每天了解一个NPM库,一年后成为Node.js高手

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值