datasource

package
v1.0.8 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2020 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CloseDB added in v1.0.5

func CloseDB()

CloseDB

func CloseMongo added in v1.0.5

func CloseMongo()

CloseMongo

func CloseRedis added in v1.0.5

func CloseRedis()

CloseRedis

func NewDB

func NewDB(opts *ConnectionOptions) *gorm.DB

NewDB

func NewMongo

func NewMongo(opts *MongoOptions) *mongo.Database

NewMongo

func NewRedis

func NewRedis(opts *RedisOptions) (client *redis.Client)

NewRedis

Types

type ConnectionOptions

type ConnectionOptions struct {
	Adapter       string        `yaml:"adapter"`        // 适配器类型 mysql/postgres
	Username      string        `yaml:"username"`       // 用户名
	Password      string        `yaml:"password"`       // 密码
	Host          string        `yaml:"host"`           // 地址
	Port          int64         `yaml:"port"`           // 端口
	Database      string        `yaml:"database"`       // 数据库
	MaxIdleConns  int           `yaml:"max_idle_conns"` // 设置连接池中的最大闲置连接数
	MaxOpenConns  int           `yaml:"max_open_conns"` // 设置数据库的最大连接数量
	MaxLifetime   time.Duration `yaml:"max_lifetime"`   // 设置连接的最大可复用时间 int64 ns * 1000 * 1000 = s
	SingularTable bool          `yaml:"singular_table"` // 表生成结尾不带s
	Prefix        string        `yaml:"prefix"`         // 表前缀
	EnableLog     bool          `yaml:"enable_log"`     // 启用Logger,显示详细日志
}

ConnectionOptions

type MongoOptions

type MongoOptions struct {
	Addr       string        `json:"addr"`        // 地址
	Port       string        `json:"port"`        // 端口
	Username   string        `json:"username"`    // 用户名
	Password   string        `json:"password"`    // 密码
	Database   string        `json:"database"`    // 数据库
	TimeOut    time.Duration `json:"time_out"`    // 过期时间 int64 ns * 1000 * 1000 = s
	AuthSource string        `json:"auth_source"` // 验证权限数据库
}

MongoOptions

type RedisOptions

type RedisOptions struct {
	Network            string        `json:"network"`              // 网络类型 tcp 或者是 unix
	Addr               string        `json:"addr"`                 // ip
	Port               string        `json:"port"`                 // 端口
	Password           string        `json:"password"`             // 密码
	DB                 int           `json:"db"`                   // 数据库
	MaxRetries         int           `json:"max_retries"`          // 放弃连接前的最大重试次数
	MinRetryBackoff    time.Duration `json:"min_retry_backoff"`    // 每次重试直接的最小回退  int64 ns * 1000 * 1000 = s
	MaxRetryBackoff    time.Duration `json:"max_retry_backoff"`    // 每次重试直接的最大回退
	DialTimeout        time.Duration `json:"dial_timeout"`         // 建立新连接的拨号超时
	ReadTimeout        time.Duration `json:"read_timeout"`         // 套接字读取超时。如果达到,命令将失败,超时而不是阻塞
	WriteTimeout       time.Duration `json:"write_timeout"`        // 套接字写入超时。如果达到,命令将失败,超时而不是阻塞
	PoolSize           int           `json:"pool_size"`            // 套接字连接的最大数目
	MinIdleConns       int           `json:"min_idle_conns"`       // 最小空闲连接数,新连接是慢的
	MaxConnAge         time.Duration `json:"max_conn_age"`         // 客户端退出(关闭)连接的连接期限
	PoolTimeout        time.Duration `json:"pool_timeout"`         // 在返回错误之前,所有连接正忙,等待的时间
	IdleTimeout        time.Duration `json:"idle_timeout"`         // 客户端关闭空闲连接的时间。应该小雨服务器的超时
	IdleCheckFrequency time.Duration `json:"idle_check_frequency"` // 空闲连接收割器进行空闲检查的频率
}

RedisOptions

Jump to

Keyboard shortcuts

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