goutils

command module
v0.0.0-...-dd4cc49 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 24, 2026 License: MIT Imports: 4 Imported by: 0

README

goutils - 多功能工具库

goutils 是一个基于 Go 语言的多功能工具库,提供了灵活的扩展能力,可支持更多通用功能开发,帮助快速构建各类应用系统。

核心功能

1. 用户管理模块
  • 用户数据 CRUD 操作(插入、删除、查询)
  • 登录认证与会话管理(基于 RSA 加密)
  • 密码安全哈希(SHA-256 多次哈希)
  • IP 访问限制(防止频繁请求)
  • 多数据库支持(MySQL、PostgreSQL、SQLite 等)
2. 通用工具能力
  • 灵活的键值存储(内存/Redis 可选)
  • 数据加密与解密工具
  • 数据库连接管理
  • 通用 HTTP 处理工具(扩展中)

安装

go get github.com/Carry-Rao/goutils

快速开始

1. 初始化基础组件
import (
  "github.com/Carry-Rao/goutils/db"
  "github.com/Carry-Rao/goutils/kv"
  "github.com/Carry-Rao/goutils/user"
)

// 初始化数据库连接(支持多种驱动)
dbConn, err := db.Open("mysql", "user:password@tcp(localhost:3306)/dbname")
if err != nil {
  // 处理错误
}

// 初始化键值存储(内存或 Redis)
kvStore, err := kv.NewKVStore(kv.StoreTypeRedis, &kv.RedisConfig{
  Addr: "localhost:6379",
})
if err != nil {
  // 处理错误
}
2. 用户管理示例
// 定义用户结构体
type User struct {
  UID      int    `json:"uid"`
  Username string `json:"username"`
  Password string `json:"password"`
  // 自定义字段
}

// 初始化用户管理实例
userManager, err := user.Init(dbConn, kvStore, "users", &User{})
if err != nil {
  // 处理错误
}

// 插入用户
newUser := &User{Username: "test", Password: "123456"}
hashedPassword := userManager.hashPassword(newUser.Password, 10)
newUser.Password = hashedPassword
err := userManager.Insert(newUser)
3. 扩展功能规划

该工具库将持续扩展,计划新增功能包括:

  • 日志工具模块
  • 数据验证工具
  • 缓存管理增强
  • 分布式锁实现

配置项

可通过配置调整核心参数:

// 设置置令牌有效期
userManager.config.SetTokenExpiry(48 * time.Hour)

// 设置IP请求限制
userManager.config.SetMaxConns(5)

// 调整密码哈希次数
userManager.config.SetHashTimes(15)

依赖说明

  • 数据库驱动:mysqlpostgressqlite3
  • 键值存储:redis(可选)
  • 加密库:crypto/rsacrypto/sha256

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL