Redis配置文档
概述
量化交易系统使用Redis作为缓存和会话存储,支持开发环境和生产环境的不同配置。
环境配置
开发环境
- 模式: 本地Redis服务
- 持久化: RDB + AOF双重持久化
- 数据目录:
/fire/data/redis
- 配置文件:
backend/redis.conf
生产环境
- 模式: 远程Redis服务
- 连接: 通过环境变量配置
- 认证: 支持密码认证
- 高可用: 支持Redis集群
配置参数
环境变量
# 基础配置
ENVIRONMENT=development|production
REDIS_HOST=localhost|your-redis-server.com
REDIS_PORT=6379
REDIS_DB=0
REDIS_PASSWORD=
# 可选配置
REDIS_URL=redis://localhost:6379/0
# 系统配置
SECRET_KEY=your-secret-key-here
JWT_SECRET_KEY=your-jwt-secret-key-here
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
Redis持久化配置
RDB快照
save 900 1 # 900秒内至少1个key变化时保存
save 300 10 # 300秒内至少10个key变化时保存
save 60 10000 # 60秒内至少10000个key变化时保存
AOF日志
appendonly yes
appendfsync everysec
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
混合持久化
aof-use-rdb-preamble yes
数据管理
数据目录结构
/fire/
├── data/ # 数据目录
├── logs/ # 日志目录
├── output/ # 输出目录
├── .tmp/ # 临时目录
├── backend/ # 后端代码
├── frontend/ # 前端代码
├── scripts/ # 脚本目录
└── .env # 环境配置文件
备份和恢复
自动备份
- 启动时自动检查数据完整性
- 停止时自动保存数据快照
- 支持定时备份
手动备份
# 查看Redis状态
curl http://localhost:8000/redis/status
# 测试Redis功能
curl http://localhost:8000/redis/test
# 系统健康检查
curl http://localhost:8000/health
性能优化
内存配置
maxmemory 256mb
maxmemory-policy allkeys-lru
网络配置
bind 127.0.0.1
port 6379
timeout 300
tcp-keepalive 60
日志配置
loglevel notice
logfile /fire/logs/redis.log
slowlog-log-slower-than 10000
slowlog-max-len 128
监控和健康检查
健康检查端点
# 检查Redis状态
curl http://localhost:8000/redis/status
# 测试Redis功能
curl http://localhost:8000/redis/test
# 系统健康检查
curl http://localhost:8000/health
监控指标
- 连接数:
connected_clients
- 内存使用:
used_memory_human
- 键数量:
dbsize
- 持久化状态: RDB和AOF文件状态
故障排除
常见问题
- Redis连接失败
- 检查Redis服务是否启动
- 验证网络连接和端口
- 确认认证信息
- 数据丢失
- 检查持久化配置
- 查看备份文件
- 恢复数据
- 性能问题
- 检查内存使用
- 优化配置参数
- 监控慢查询
日志分析
# 查看Redis日志
tail -f logs/redis.log
# 查看慢查询
redis-cli slowlog get 10
# 查看内存使用
redis-cli info memory
安全配置
认证配置
# 设置密码
requirepass your-strong-password
# 禁用危险命令
rename-command FLUSHDB ""
rename-command FLUSHALL ""
网络安全
# 绑定特定IP
bind 127.0.0.1
# 设置超时
timeout 300
最佳实践
- 数据备份: 定期备份重要数据
- 监控告警: 设置内存和连接数告警
- 性能调优: 根据业务需求调整配置
- 安全加固: 设置强密码和网络限制
- 高可用: 生产环境使用Redis集群