审查生成的请求缓存

来自 WeakMap 与 WeakSet
Node 24 高级 9分钟 找出 4处问题

在这个生成式摘要缓存处理应用请求前,对它进行审查。

按请求对象标识缓存公开的载荷摘要,不让缓存阻止请求回收;拒绝无效请求形状,不暴露令牌或可变缓存数据,也不承诺条目计数。

JavaScript
const summaries = new WeakMap();

function summarizeRequest(request) {
  const cacheKey = { id: request.id };
  if (summaries.has(cacheKey)) {
    return summaries.get(cacheKey);
  }

  const fields = Object.keys(request.payload).sort();
  const summary = {
    id: String(request.id),
    fields,
    token: request.token,
  };
  summaries.set(cacheKey, summary);
  return summary;
}

function cachedCount() {
  return summaries.size || 0;
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误