feat: 实现 Redis 会话存储,支持内存/Redis 双模式自动切换
- 新增 go-redis/v9 依赖 - 新增 config.yaml redis 配置段 + RedisConfig 结构体 + REDIS_PASSWORD 环境变量覆盖 - 新增 common/redis.go Redis 客户端初始化 - 完整实现 session/redis_store.go,实现 Store 接口全部 7 个方法 - Redis TTL 自动过期,无须后台清理 goroutine - deps_core.go 根据 cfg.Redis.Enabled 自动选择 RedisStore/MemoryStore - router.go + main.go 透传 redisClient 参数
This commit is contained in:
10
config.yaml
10
config.yaml
@ -18,7 +18,15 @@ database:
|
||||
session:
|
||||
idle_timeout: 120 # 不记住我:空闲超时(分钟),120 = 2 小时
|
||||
remember_timeout: 43200 # 记住我:空闲超时(分钟),默认 43200 = 30 天
|
||||
cleanup_interval: 300 # 后台清理过期会话间隔(秒),默认 300
|
||||
cleanup_interval: 300 # 后台清理过期会话间隔(秒),默认 300,仅内存模式使用
|
||||
|
||||
# Redis 配置(可选,enabled: false 时使用内存存储)
|
||||
redis:
|
||||
enabled: false # 是否启用 Redis 存储会话
|
||||
host: 127.0.0.1
|
||||
port: 6379
|
||||
password: "" # 敏感值由 .env 注入
|
||||
db: 0
|
||||
|
||||
bcrypt:
|
||||
cost: 12
|
||||
|
||||
Reference in New Issue
Block a user