页面加载中...
缓存、限流、分布式锁、排行榜、消息队列——每个模式配完整示例。
减少重复 API 调用,降低延迟和费用。
# 设置缓存,30 分钟过期 redis SET api:weather:beijing '{"temp":22}' EX 1800 # 读取缓存 redis GET api:weather:beijing
要点:
防止 Agent 过快调用外部 API。
# 滑动窗口限流:每分钟最多 60 次 redis INCR rate:api:openai:minute redis EXPIRE rate:api:openai:minute 60
要点:
多 Agent 实例同时运行时防止重复操作。
# 获取锁,10 秒自动释放 redis SET lock:deploy:prod unique-value NX EX 10 # 释放锁(用 Lua 脚本保证原子性) if redis.call('get', KEYS[1]) == ARGV[1] then return redis.call('del', KEYS[1]) else return 0 end
要点:
适合任务优先级、用户活跃度等排序场景。
# 添加分数 redis ZADD leaderboard:weekly 1500 "user:alice" redis ZADD leaderboard:weekly 1200 "user:bob" # 查询 Top 10 redis ZREVRANGE leaderboard:weekly 0 9 WITHSCORES
要点:
Agent 间的异步通信。
# 生产者:推入任务 redis LPUSH queue:tasks '{"type":"scrape","url":"example.com"}' # 消费者:取出任务 redis RPOP queue:tasks
要点:
| 模式 | 数据结构 | 典型场景 |
|---|---|---|
| 缓存 | String + TTL | API 响应缓存 |
| 限流 | String + INCR | API 调用频率控制 |
| 分布式锁 | String + NX | 防止重复操作 |
| 排行榜 | Sorted Set | 优先级排序 |
| 消息队列 | List | 异步任务分发 |
Agent 站点首选部署平台,零配置部署 Next.js,全球 CDN
立即体验 →