Redis
模块位于 src/core/Redis:对官方 redis 客户端的静态封装,模块加载时自动连接。
配置
| 变量 | 说明 | 默认 |
|---|---|---|
REDIS_HOST | 主机 | 127.0.0.1 |
REDIS_PORT | 端口 | 6379 |
REDIS_PASSWORD | 密码 | 空 |
REDIS_DB | DB index | 0 |
REDIS_KEY_PREFIX | 全局 key 前缀 | pangza: |
所有业务 key 会自动加上前缀,避免与其他项目冲突。
常用 API
静态方法风格,例如:
- 字符串:
set/get/del/exists/expire/ttl/setNX - JSON:
setJSON/getJSON - Hash / Set:
h*/s* - 计数:
incr/decr
适合缓存用户权限、限流计数、分布式锁雏形等。
与 Auth 的关系
Auth 默认使用 MemoryStore。只有在注册中间件时传入 Redis 实例,会话才会落到 Redis:
ts
import Redis from '@/core/Redis'
Auth({
ignore: ['/auth/login'],
timeout: 2 * 60 * 60 * 1000,
redis: Redis,
})多实例部署时建议开启 Redis 会话,否则登录态无法在节点间共享。
注意
- Redis 连接失败通常不影响进程启动(视实现日志而定),但依赖缓存的功能会不可用
- 手动拼 key 时不要重复加
REDIS_KEY_PREFIX,封装层会处理