用途:诊断并优化 Klaviyo API 集成性能,针对慢响应、重复读取、大批量导出或写入等瓶颈,按需应用负载削减、内存缓存、有界分页、请求合并与限流感知并发等技术。
主要能力:稀疏字段集(JSON:API sparse fieldsets)只请求所需字段,列表端点负载可减少 50-80%;按资源设置 TTL 的 LRU 响应缓存(如 profiles 5 分钟、segments 15 分钟);跟随 links.next 游标并设 maxPages 上限的分页助手;用 DataLoader 合并同一 tick 内的多次 getProfile 调用(maxBatchSize 10、50ms 窗口);用 PQueue 控制并发(建议 50 req/s,低于 75 req/s 突发上限);measuredCall 与 getPerfSummary 输出各操作 avg、p95 和调用次数以定位瓶颈。
使用方式:需先安装 klaviyo-api SDK,了解 Klaviyo 限流(75 req/s 突发、700 req/min),可选 Redis 或内存缓存,批处理/并发辅助需 dataloader、p-queue、lru-cache。按瓶颈选择步骤,每步完整代码见 references/implementation.md,组合场景见 references/examples.md。示例:cachedKlaviyoCall(profile:${email}, () => profilesApi.getProfiles({ filter: equals(email,"${email}") }), 5 * 60 * 1000)。
适用场景:重复资料查询、数十万成员列表导出、批量更新上万资料、定位耗时操作。
限制:缓存需处理缓存击穿(可用 stale-while-revalidate);超大分页需设 maxPages 并分块;批量操作并发过高会触发限流;复杂过滤查询较慢,建议简化或改用 segment ID。具体收费与价格暂未提供。