package utils import ( "github.com/fox/fox/ksync" "github.com/go-redis/redis/v8" "time" ) // 动态调整redis池 func AutoSetRedisPool(rdb *redis.Client) { // 连接池自动扩展 ksync.GoSafe(func() { for { stats := rdb.PoolStats() usage := float64(stats.TotalConns-stats.IdleConns) / float64(stats.TotalConns) if usage > 0.8 { // 使用率超过80% // 动态调整PoolSize rdb.Options().PoolSize = int(float64(rdb.Options().PoolSize) * 1.2) } time.Sleep(10 * time.Second) } }, nil) }