package config import ( "context" "fmt" "log" "time" "github.com/redis/go-redis/v9" ) type RedisManager struct { redis *redis.Client } func NewRedisManager(redis *redis.Client) *RedisManager { return &RedisManager{ redis: redis, } } func (pm *RedisManager) GetRawValue(ctx context.Context, codigo string) (string, error) { val, err := pm.redis.Get(ctx, codigo).Result() if err == redis.Nil { return "", fmt.Errorf("clave no encontrada en Redis: %s", codigo) } else if err != nil { return "", err } return val, nil } func (pm *RedisManager) UpdateParam(ctx context.Context, codigo string, nuevoValor string, expiration time.Duration) error { err := pm.redis.Set(ctx, codigo, nuevoValor, expiration).Err() if err != nil { return fmt.Errorf("error actualizando parĂ¡metro en Redis [%s]: %w", codigo, err) } log.Printf("đŸ”„ ParĂ¡metro actualizado en Redis: %s = %s", codigo, nuevoValor) return nil }