Files
udmin/backend/REDIS_INTEGRATION.md
2025-08-29 21:42:29 +08:00

78 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Redis集成测试
这个文件包含了Redis集成的测试说明。
## 环境配置
1. 复制环境配置文件:
```bash
cp .env.example .env
```
2. 根据需要修改 `.env` 文件中的Redis配置
```bash
REDIS_URL=redis://:123456@127.0.0.1:6379/9
```
## 启动Redis服务
确保Redis服务器正在运行
```bash
# 使用Docker运行Redis
docker run -d -p 6379:6379 --name redis-udmin redis:7-alpine --requirepass 123456
# 或者使用本地Redis服务
redis-server --requirepass 123456
```
## 测试Redis连接
启动服务器:
```bash
cargo run
```
查看日志中是否有Redis连接成功的信息
```
[INFO] Connecting to Redis at: redis://:***@127.0.0.1:6379/9
[INFO] Redis connection established successfully
```
## 测试Token存储
1. 登录获取token
```bash
curl -X POST http://localhost:8080/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"Admin@123"}'
```
2. 检查Redis中的token
```bash
# 连接到Redis CLI
redis-cli -a 123456 -n 9
# 查看所有token键
KEYS token:*
# 查看特定用户的token
GET token:access:user:1
GET token:refresh:user:1
```
## 功能验证
Redis集成后的新功能
1. **Token存储**所有JWT token都存储在Redis中
2. **Token验证**每次API调用都会验证Redis中的token
3. **Token撤销**logout时会从Redis中删除token
4. **性能提升**:减少数据库查询,提升认证性能
5. **单点登录**:防止多重登录(可配置)
## 环境变量说明
- `REDIS_URL`: Redis连接字符串
- `REDIS_TOKEN_VALIDATION`: 是否启用Redis token验证默认true
- `JWT_ACCESS_EXP_SECS`: 访问token过期时间
- `JWT_REFRESH_EXP_SECS`: 刷新token过期时间