diff --git a/internal/middleware/authMiddleware.go b/internal/middleware/authMiddleware.go index e44206b..8c8086b 100644 --- a/internal/middleware/authMiddleware.go +++ b/internal/middleware/authMiddleware.go @@ -17,6 +17,7 @@ import ( "github.com/perfect-panel/server/pkg/tool" "github.com/perfect-panel/server/pkg/xerr" "github.com/pkg/errors" + "github.com/redis/go-redis/v9" ) func AuthMiddleware(svc *svc.ServiceContext) func(c *gin.Context) { @@ -53,7 +54,11 @@ func AuthMiddleware(svc *svc.ServiceContext) func(c *gin.Context) { sessionIdCacheKey := fmt.Sprintf("%v:%v", config.SessionIdKey, sessionId) value, err := svc.Redis.Get(c, sessionIdCacheKey).Result() if err != nil { - logger.WithContext(c.Request.Context()).Errorw("[AuthMiddleware] redis get failed", logger.Field("error", err.Error()), logger.Field("sessionId", sessionId)) + if errors.Is(err, redis.Nil) { + logger.WithContext(c.Request.Context()).Infow("[AuthMiddleware] session not found", logger.Field("sessionId", sessionId)) + } else { + logger.WithContext(c.Request.Context()).Errorw("[AuthMiddleware] redis get failed", logger.Field("error", err.Error()), logger.Field("sessionId", sessionId)) + } result.HttpResult(c, nil, errors.Wrapf(xerr.NewErrCode(xerr.InvalidAccess), "Invalid Access")) c.Abort() return diff --git a/pkg/orm/mysql.go b/pkg/orm/mysql.go index 07920e4..39ce1e0 100644 --- a/pkg/orm/mysql.go +++ b/pkg/orm/mysql.go @@ -57,6 +57,8 @@ func ConnectMysql(m Mysql) (*gorm.DB, error) { sqldb, _ := db.DB() sqldb.SetMaxIdleConns(m.Config.MaxIdleConns) sqldb.SetMaxOpenConns(m.Config.MaxOpenConns) + sqldb.SetConnMaxIdleTime(5 * time.Minute) + sqldb.SetConnMaxLifetime(30 * time.Minute) return db, nil } }