# 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过期时间(秒)