SuperAPI AI 工具集

caching-strategist

通用与其它

查看项目

更新于 10-16 03:16

技能介绍

Caching Strategist 用于为性能与一致性设计有效的缓存策略。

用途:帮助开发者规划缓存分层、缓存键、TTL、失效机制与一致性模式,并给出可参考的代码实现。

主要能力:

  1. 缓存分层建议:CDN(静态资源、公开页面,TTL 天/周)、应用缓存 Redis(API 响应、会话,TTL 分钟/小时)、数据库缓存(查询结果,TTL 秒/分钟)、客户端缓存(浏览器/应用本地缓存)。
  2. 缓存键策略:分层键结构,如 user:${id}、user:${userId}:posts:${page}、post:${id}、post:${postId}:comments;可在键中加入版本号便于整体失效,如 const key = ${CACHE_VERSION}:${CACHE_KEYS.user(userId)}。
  3. TTL 策略:提供 REALTIME 10 秒、SHORT 60 秒、MEDIUM 300 秒、STANDARD 3600 秒、LONG 86400 秒、VERY_LONG 604800 秒等取值,示例用法 await redis.setex(key, TTL.MEDIUM, JSON.stringify(data))。
  4. Cache-Aside 模式:先查缓存,未命中再查数据库并回写缓存。
  5. 缓存失效:更新时删除对应键及相关缓存;支持基于标签的批量失效,通过 sadd 记录 cache_tag:${tag} 与键的映射,再用 smembers 取出并删除。
  6. 缓存预热:对热门数据预填充,并用 cron.schedule("0 */6 * * *", warmCache) 定时执行。
  7. 缓存击穿/雪崩防护:使用锁键 lock:${key},通过 redis.set(lockKey, "1", "EX", 10, "NX") 获取锁,未获取到则等待后重试。
  8. 正确性检查清单:键唯一可预测、TTL 与数据新鲜度匹配、所有更新都触发失效、相关缓存一起失效、有击穿防护、缓存故障时回退数据库、监控命中率、缓存大小有界、敏感数据不缓存或加密、关键路径预热。

使用方式:该技能以文档与代码示例形式提供,需结合 Redis 与 TypeScript 项目使用;示例代码可直接参考或调整。

适用场景:需要为 API、会话、数据库查询、静态资源等设计缓存策略的后端与全栈项目。

限制:资料未提供安装命令、收费方式、平台支持范围与具体性能数据;示例基于 Redis 与 TypeScript,其他技术栈需自行适配。