package main import ( "Go_Test/config" "fmt" "time" ) // ConnectRedis 连接Redis func ConnectRedis() error { var err error RedisClient, err = config.NewRedisClient(1) if err != nil { return fmt.Errorf("failed to connect to Redis: %v", err) } return nil } // InitUser 初始化用户连接 func InitUser(username string, password string) error { // 连接Redis err := ConnectRedis() if err != nil { return err } SaveUserToRedis(GetUsernameAndPassword(username, password)) return nil } // 获取 username 和 password func GetUsernameAndPassword(username string, password string) config.UserConfig { // 将用户信息保存到 UserConfig 结构体中 UserConfig := config.UserConfig{ Username: username, Password: password, LoginTime: time.Now().Format("2006-01-02 15:04:05"), } return UserConfig } // 将用户信息保存到 Redis 中 func SaveUserToRedis(UserConfig config.UserConfig) error { // 使用用户名作为 Redis 的 key key := UserConfig.Username // 将用户信息保存到 Redis 中 err := RedisClient.HSet(ctx, key, "username", UserConfig.Username, "password", UserConfig.Password, "login_time", UserConfig.LoginTime, ).Err() if err != nil { return fmt.Errorf("保存用户信息失败: %v", err) } //设置过期时间 err = RedisClient.Expire(ctx, key, 24*time.Hour).Err() if err != nil { return fmt.Errorf("设置过期时间失败: %v", err) } fmt.Println("用户信息保存成功") return nil }