diff --git a/common/redis.go b/common/redis.go index 02582ee2..49d3ec78 100644 --- a/common/redis.go +++ b/common/redis.go @@ -32,6 +32,7 @@ func InitRedisClient() (err error) { if err != nil { FatalLog("failed to parse Redis connection string: " + err.Error()) } + opt.PoolSize = GetEnvOrDefault("REDIS_POOL_SIZE", 10) RDB = redis.NewClient(opt) ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) @@ -41,6 +42,10 @@ func InitRedisClient() (err error) { if err != nil { FatalLog("Redis ping test failed: " + err.Error()) } + if DebugEnabled { + SysLog(fmt.Sprintf("Redis connected to %s", opt.Addr)) + SysLog(fmt.Sprintf("Redis database: %d", opt.DB)) + } return err } @@ -53,13 +58,20 @@ func ParseRedisOption() *redis.Options { } func RedisSet(key string, value string, expiration time.Duration) error { + if DebugEnabled { + SysLog(fmt.Sprintf("Redis SET: key=%s, value=%s, expiration=%v", key, value, expiration)) + } ctx := context.Background() return RDB.Set(ctx, key, value, expiration).Err() } func RedisGet(key string) (string, error) { + if DebugEnabled { + SysLog(fmt.Sprintf("Redis GET: key=%s", key)) + } ctx := context.Background() - return RDB.Get(ctx, key).Result() + val, err := RDB.Get(ctx, key).Result() + return val, err } //func RedisExpire(key string, expiration time.Duration) error { @@ -73,16 +85,25 @@ func RedisGet(key string) (string, error) { //} func RedisDel(key string) error { + if DebugEnabled { + SysLog(fmt.Sprintf("Redis DEL: key=%s", key)) + } ctx := context.Background() return RDB.Del(ctx, key).Err() } func RedisHDelObj(key string) error { + if DebugEnabled { + SysLog(fmt.Sprintf("Redis HDEL: key=%s", key)) + } ctx := context.Background() return RDB.HDel(ctx, key).Err() } func RedisHSetObj(key string, obj interface{}, expiration time.Duration) error { + if DebugEnabled { + SysLog(fmt.Sprintf("Redis HSET: key=%s, obj=%+v, expiration=%v", key, obj, expiration)) + } ctx := context.Background() data := make(map[string]interface{}) @@ -130,6 +151,9 @@ func RedisHSetObj(key string, obj interface{}, expiration time.Duration) error { } func RedisHGetObj(key string, obj interface{}) error { + if DebugEnabled { + SysLog(fmt.Sprintf("Redis HGETALL: key=%s", key)) + } ctx := context.Background() result, err := RDB.HGetAll(ctx, key).Result() @@ -208,6 +232,9 @@ func RedisHGetObj(key string, obj interface{}) error { // RedisIncr Add this function to handle atomic increments func RedisIncr(key string, delta int64) error { + if DebugEnabled { + SysLog(fmt.Sprintf("Redis INCR: key=%s, delta=%d", key, delta)) + } // 检查键的剩余生存时间 ttlCmd := RDB.TTL(context.Background(), key) ttl, err := ttlCmd.Result() @@ -238,6 +265,9 @@ func RedisIncr(key string, delta int64) error { } func RedisHIncrBy(key, field string, delta int64) error { + if DebugEnabled { + SysLog(fmt.Sprintf("Redis HINCRBY: key=%s, field=%s, delta=%d", key, field, delta)) + } ttlCmd := RDB.TTL(context.Background(), key) ttl, err := ttlCmd.Result() if err != nil && !errors.Is(err, redis.Nil) { @@ -262,6 +292,9 @@ func RedisHIncrBy(key, field string, delta int64) error { } func RedisHSetField(key, field string, value interface{}) error { + if DebugEnabled { + SysLog(fmt.Sprintf("Redis HSET field: key=%s, field=%s, value=%v", key, field, value)) + } ttlCmd := RDB.TTL(context.Background(), key) ttl, err := ttlCmd.Result() if err != nil && !errors.Is(err, redis.Nil) {