database

package
v1.4.2 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2025 License: MIT Imports: 22 Imported by: 0

Documentation

Overview

Package database provides database client initialization.

Package database provides database client initialization.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrCacheNotFound 未命中缓存
	ErrCacheNotFound = goredis.ErrRedisNotFound
)
View Source
var (
	ErrRecordNotFound = sgorm.ErrRecordNotFound
)

Functions

func CloseDB

func CloseDB() error

CloseDB close db

func CloseElasticsearch added in v1.3.12

func CloseElasticsearch() error

CloseElasticsearch 关闭ES客户端(空实现,仅为了保持接口一致性)

func CloseRedis

func CloseRedis() error

CloseRedis 关闭 Redis 连接

func GenerateOrderNo added in v1.3.6

func GenerateOrderNo(prefix string, snowId snowflake.ID) string

GenerateOrderNo 生成带有业务含义的订单号

func GetDB

func GetDB() *sgorm.DB

GetDB get db

func GetElasticsearch added in v1.3.12

func GetElasticsearch() *es.Client

GetElasticsearch 获取ES客户端实例

func GetRedisCli

func GetRedisCli() *goredis.Client

GetRedisCli 获取 Redis 客户端

func GetSequenceFromSnowId added in v1.3.6

func GetSequenceFromSnowId(id snowflake.ID) int64

GetSequenceFromSnowId 从雪花ID中提取序列号

func GetSnowId

func GetSnowId() snowflake.ID

func GetSnowNode

func GetSnowNode() *snowflake.Node

GetSnowNode get db

func GetTimeFromSnowId added in v1.3.6

func GetTimeFromSnowId(id snowflake.ID) time.Time

func InitCache

func InitCache(cType string)

InitCache 初始化缓存

func InitDB

func InitDB()

InitDB connect database

func InitElasticsearch added in v1.3.12

func InitElasticsearch() *es.Client

InitElasticsearch 初始化Elasticsearch客户端

func InitMysql

func InitMysql() *sgorm.DB

InitMysql connect mysql

func InitRabbitmq added in v1.3.22

func InitRabbitmq()

InitRabbitmq 初始化 RabbitMQ 连接池

func InitRedis

func InitRedis()

InitRedis 连接 Redis

func InitSnowNode

func InitSnowNode()

InitSnowNode connect redis

func ParseSnowId added in v1.3.6

func ParseSnowId(id snowflake.ID) map[string]int64

ParseSnowId 解析雪花ID的各个组成部分

Types

type CacheType

type CacheType struct {
	CType string          // 缓存类型 memory 或 redis
	Rdb   *goredis.Client // 如果 CType=redis,则 Rdb 不能为空
}

CacheType 缓存类型

func GetCacheType

func GetCacheType() *CacheType

GetCacheType 获取缓存类型

type MqCfg added in v1.3.6

type MqCfg struct {
	ExchangeName    string        // 交换机名称
	NormalQueueName string        // 普通队列名称
	Url             string        // RabbitMQ连接URL
	DialTimeout     time.Duration // 连接超时时间
	IsDeadLetter    bool          // 是否启用死信队列
}

MqCfg 包含 RabbitMQ 配置信息

type RabbitMQ added in v1.3.23

type RabbitMQ struct {
	// contains filtered or unexported fields
}

RabbitMQ 封装了 RabbitMQ 连接池及相关操作

func GetRabbitMQ added in v1.3.23

func GetRabbitMQ() *RabbitMQ

GetRabbitMQ 获取 RabbitMQ 实例

func (*RabbitMQ) Close added in v1.3.23

func (r *RabbitMQ) Close(ctx context.Context) error

Close 关闭 RabbitMQ 连接池

func (*RabbitMQ) GetConnection added in v1.3.23

func (r *RabbitMQ) GetConnection(ctx context.Context) (*gorabbitmq.Connection, error)

GetConnection 从连接池获取一个 RabbitMQ 连接

func (*RabbitMQ) GetPoolStats added in v1.3.23

func (r *RabbitMQ) GetPoolStats(ctx context.Context) map[string]interface{}

GetPoolStats 获取连接池统计信息

func (*RabbitMQ) PutConnection added in v1.3.23

func (r *RabbitMQ) PutConnection(ctx context.Context, conn *gorabbitmq.Connection) error

PutConnection 将 RabbitMQ 连接放回连接池

func (*RabbitMQ) SendMessage added in v1.3.23

func (r *RabbitMQ) SendMessage(ctx context.Context, exchangeName, normalQueueName string, message string, messageId string) error

SendMessage 发送消息到指定的交换机和路由键

type RabbitMQClient added in v1.3.6

type RabbitMQClient struct {
	// contains filtered or unexported fields
}

RabbitMQClient 封装RabbitMQ操作

func GetClient added in v1.3.6

func GetClient(ctx context.Context, cfg *MqCfg) (*RabbitMQClient, error)

GetClient 从连接池获取客户端

func (*RabbitMQClient) CloseConnection added in v1.3.6

func (c *RabbitMQClient) CloseConnection()

CloseConnection 关闭连接

func (*RabbitMQClient) Send added in v1.3.6

func (c *RabbitMQClient) Send(ctx context.Context, message string) error

Send 发送消息到RabbitMQ

Jump to

Keyboard shortcuts

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