2.0.2 • Published 3 years ago

@domain.js/cache v2.0.2

Weekly downloads
3
License
MIT
Repository
github
Last release
3 years ago

@domain.js/cache

基于 lru-cache 库包封装的适合 @domain.js/domain 的cache模块

Build status codecov

Installation

cnf

专属配置名称 cache | 名称 | 类型 | 必填 | 默认值 | 描述 | 样例 | | ---- | ---- | ---- | ------ | ---- | ---- | | isMulti | boolean | | false | 是否为多节点分布式部署 | true | | delSignalChannel | string | | LRU_DEL_SIGNAL_CHANNEL | 多节点广播cache删除信息的渠道名称,借助于 redis(pub/sub) | CHANNEL |

额外配置名称 redis, 参考 @domain.js/redis

deps

模块名别名用到的方法描述
loggerinfo输出日志
loggererror输出错误

Usage

  • 参考 lru-cache option
  • caching 自动将某个异步函数(如果是同步函数,加工完后会变成异步)处理成具有cache特性的函数,保持原函数行为不变
const fn = (...args) => { // do something };
const keyFn = (...args) => `cache-${args[0]}-${args[1]}`;
const isAsync = true;
const hitFn = (isHit) => { // do hit count, isHit must be `true` or `false` }
const fn1 = cache.caching(fn, lifeMS, keyFn, hitFn);

const res = await fn1(1, 2);
const res2 = await fn1(1, 2); // 第二次执行的时候返回的是第一次的cache
console.log("cache hit stats: %o", cache.hitCount());
2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.3.0

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.1.0

3 years ago