nodejs学习: lru-cache-fs

基于 lru-cache 的文件操作包
更新于: 2022-06-13 23:09:07

背景

因为最近想实现一个 ntl 的记录上次执行命令的功能,所以,看了一下 ntl 源码,发现核心实现就是这个包,也是基于 lru 实现的 lru-fs

直接应用的作品是 yaml-command-cli: https://github.com/afeiship/yaml-command-cli

安装

npm i -S lru-cache-fs

基本操作、用法

  • set: 设置值
  • get: 取值
  • cache.fsDump: 将值持久化到文件里(默认在这里: ~/Library/Caches/cache-nodejs)

基本用法

const Cache = require("lru-cache-fs");

const cache = new Cache({
  max: 100,
  cacheName: "cache", // filename ref to be used
});

cache.set("some-new-item", { name: "aric", age: 108, }); // sets new item and stores cache sync to fs

cache.fsDump();

cache.get("some-new-item");

自己的  storage 使用

# 安装 
npm i -S @jswork/next-lru-fs-storage
// 使用
const NxLruFsStorage = require('@jswork/next-lru-fs-storage')
const cache = new NxLruFsStorage('YOUR_CACHE_KEY');

// apis
cache.set('foo','bar')
cache.get('foo')
cache.sets({ 'test':'test-value' })
cache.gets()

参考