SuperAPI AI 工具集

redis-patterns

数据与分析

查看项目

更新于 10-15 16:46

技能介绍

该技能聚焦 Upstash Redis 在应用中的常见使用模式,资料以 TypeScript 代码示例为主。

用途:为使用 Upstash Redis 的项目提供缓存、限流、会话存储、发布订阅与排行榜等场景的参考实现。

主要能力:

  1. 基础缓存与 TTL:用 redis.get 读取缓存,未命中时查询数据库并 setex 写入,示例中 TTL 为 300 秒。
  2. 缓存失效:更新数据后通过 redis.del 删除单条缓存及列表缓存。
  3. 限流:使用 @upstash/ratelimit 的 Ratelimit.slidingWindow(10, '10 s') 配置滑动窗口,按 IP 调用 ratelimit.limit,失败返回 429 及 X-RateLimit 响应头。
  4. 会话存储:用 setex、get、del 在 Redis 中保存带过期时间的会话对象。
  5. 发布订阅:通过 redis.publish 发布事件。
  6. 排行榜:使用 zadd、zrevrange、zrevrank 维护分数与排名。
  7. 通用 cache-aside:封装 getData 函数,支持自定义 TTL。

使用方式:需安装并配置 @upstash/redis,通过环境变量 UPSTASH_REDIS_REST_URL 与 UPSTASH_REDIS_REST_TOKEN 初始化 Redis 客户端,再按示例调用对应方法。

适用场景:Next.js 等前端或全栈项目中需要缓存、API 限流、会话管理与实时消息推送的场景。

限制:资料未提供安装命令、依赖版本、定价、性能指标或错误处理细节;以上内容均暂未提供。