Upstash 是一项现代化的无服务器数据基础设施服务,专门为云原生应用设计。它提供 Redis 和 Kafka 的托管服务,具有以下核心特性:
主要优势
特性 | 传统 Redis | Upstash Redis |
计费模式 | 按时间计费 | 按请求计费 |
运维成本 | 需要维护服务器 | 零运维 |
扩展性 | 手动扩缩容 | 自动扩缩容 |
全球分布 | 需要自建 | 内置全球分布 |
冷启动 | 无 | 毫秒级冷启动 |
适用场景
- 缓存系统:提升应用响应速度
- 会话存储:用户登录状态管理
- 限流器:API 访问频率控制
- 计数器:实时统计数据
- 消息队列:异步任务处理
- 实时数据:聊天、通知等功能
Redis 在 SaaS 项目中的作用
在复杂商业化项目中,Redis 通常是必不可少的基础设施,主要应用场景包括:
1. 缓存层
javascript
体验AI代码助手
代码解读
复制代码
javascript
2. 限流器
javascript
体验AI代码助手
代码解读
复制代码
javascript
3. 会话管理
javascript
体验AI代码助手
代码解读
复制代码
javascript
4. 实时计数
javascript
体验AI代码助手
代码解读
复制代码
javascript
Nexty 模板中的 Redis 集成
为了满足不同使用场景,Nexty 模板对 Redis 和限流器进行了封装,并采用了灵活的兼容设计:
- 如果配置了 Upstash 环境变量,则支持调用封装好的 Redis 和限流器方法
- 如果未配置 Upstash 环境变量,相关功能会自动降级,不会影响其他业务逻辑
为了大家更快上手,模板在邮件订阅功能中集成了限流器示例,它会根据是否配置了 Upstash 环境变量,自动决定是否启用限流功能。
本章我们来完成 Upstash 的注册与配置。
注册与基础配置
- 访问 Upstash,使用邮箱注册账号
- 进入 Dashboard 页面,点击
Create database
按钮
- 进入数据库详情页面,在 REST API 模块复制
UPSTASH_REDIS_REST_URL
和UPSTASH_REDIS_REST_TOKEN
到环境变量
验证
现在你可以再次尝试提交邮件订阅,并查看 Upstash Redis 的 Data Browser 页面,有新增数据,则说明订阅的限流器生效了。