databases

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StopHealthChecks added in v1.3.0

func StopHealthChecks()

StopHealthChecks stops all database health check goroutines

Types

type DBLogger

type DBLogger struct {
	LogLevel logger.LogLevel
}

func (*DBLogger) Error

func (l *DBLogger) Error(ctx context.Context, msg string, data ...interface{})

func (*DBLogger) Info

func (l *DBLogger) Info(ctx context.Context, msg string, data ...interface{})

func (*DBLogger) LogMode

func (l *DBLogger) LogMode(level logger.LogLevel) logger.Interface

func (*DBLogger) Trace

func (l *DBLogger) Trace(ctx context.Context, begin time.Time, fc func() (sql string, rowsAffected int64), err error)

func (*DBLogger) Warn

func (l *DBLogger) Warn(ctx context.Context, msg string, data ...interface{})

type DatabaseConfig

type DatabaseConfig struct {
	Hosts    []string
	Port     string
	User     string
	Password string
	Name     string
	LogLevel logger.LogLevel
	Timezone string // 时区,如 Asia/Shanghai

	// 1.0 版本,支持多数据库,同时兼容原有数据库配置
	EnableSlave bool

	Main  *DatabaseConfig
	Slave *DatabaseConfig

	// 连接池配置
	MaxIdleConns    int  // 最大空闲连接数
	MaxOpenConns    int  // 最大打开连接数
	ConnMaxLifetime int  // 连接最大生命周期(分钟)
	ConnMaxIdleTime int  // 空闲连接最大存活时间(分钟)
	PrepareStmt     bool // 是否启用 prepared statement 缓存
}

type LightDatabase

type LightDatabase struct {
	MainDB    *gorm.DB
	SlaveDBs  []*gorm.DB
	Completed bool
	Error     error
}
var LightDatabaseClient *LightDatabase

func (*LightDatabase) CloseConnections

func (l *LightDatabase) CloseConnections()

CloseConnections 提供一个方法用于安全地关闭数据库连接 应仅在确认不再需要使用数据库时调用,例如应用程序关闭时

func (*LightDatabase) GetDB

func (l *LightDatabase) GetDB(ctx context.Context) (*gorm.DB, error)

GetDB 获取主库连接

func (*LightDatabase) GetSlaveDB

func (l *LightDatabase) GetSlaveDB(ctx context.Context) (*gorm.DB, error)

GetSlaveDB 获取从库连接,实现负载均衡

func (*LightDatabase) LogStats

func (l *LightDatabase) LogStats()

LogStats 记录数据库连接池统计信息到日志

func (*LightDatabase) Stats

func (l *LightDatabase) Stats() map[string]interface{}

Stats 返回数据库连接池统计信息

type LogLevel

type LogLevel string
const (
	LogLevelDebug LogLevel = "debug"
	LogLevelInfo  LogLevel = "info"
	LogLevelWarn  LogLevel = "warn"
	LogLevelError LogLevel = "error"
)

Jump to

Keyboard shortcuts

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