MemoizeeJavaScript 的完整 memoize/cache 解决方案
Memoizee 是一个用于 JavaScript 的完整 memoize/cache 解决方案。
特性:
- 适用于任何类型的函数参数——不需要序列化
- 适用于任意长度的函数参数。长度可以设置为固定或动态。
- 最快的可用解决方案之一。
- 支持 promises 和 asynchronous functions
- 当参数可转换为字符串时,可确保快速性能的原始模式。
- 基于 WeakMap 的垃圾收集友好配置模式
- 可以为方法配置(when
this
counts in) - 可以手动或在指定超时后清除缓存
- 缓存大小可以基于 LRU进行限制
- 可选地接受在将函数参数传递给底层函数之前规范化函数参数的解析器。
- 可选的引用计数器模式,允许更复杂的缓存管理
- 提供有价值的使用统计数据的配置文件工具
- 涵盖 500 多个单元测试
Usage
var memoize = require("memoizee"); var fn = function(one, two, three) { /* ... */ }; memoized = memoize(fn); memoized("foo", 3, "bar"); memoized("foo", 3, "bar"); // Cache hit
评论