Documentation
¶
Index ¶
Constants ¶
const ( DefaultCharSet = "utf8mb4" ReplicationMaster = "master" ReplicationSlave = "slave" ReplicationRelay = "relay" // it has master and slave roles at the same time HostString = "host" PortString = "port" ShowSlaveStatusSQL = "show slave status" )
const ( DefaultMaxConnections = 20 DefaultInitConnections = 5 DefaultMaxIdleConnections = 10 DefaultMaxIdleTime = 600 // Seconds DefaultKeepAliveInterval = 1 // Seconds DefaultKeepAliveChunkSize = 5 DefaultSleepTime = 1 // Seconds )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Conn ¶
func NewMySQLConn ¶
NewMySQLConn returns connection to mysql database, be aware that addr is host:port style, default charset is utf8mb4
func (*Conn) CheckInstanceStatus ¶ added in v0.2.0
func (*Conn) GetReplicationRole ¶
func (*Conn) GetReplicationSlaveList ¶
type Pool ¶ added in v0.2.0
type Pool struct {
sync.Mutex
PoolConfig
// contains filtered or unexported fields
}
func NewMySQLPool ¶ added in v0.2.0
func NewMySQLPool(addr, dbName, dbUser, dbPass string, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) (*Pool, error)
NewMySQLPool returns a new *Pool
func NewMySQLPoolWithConfig ¶ added in v0.2.0
func NewMySQLPoolWithConfig(config Config, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) (*Pool, error)
NewMySQLPoolWithConfig returns a new *Pool with a Config object
func NewMySQLPoolWithDefault ¶ added in v0.2.0
NewMySQLPoolWithDefault returns a new *Pool with default configuration
func NewMySQLPoolWithPoolConfig ¶ added in v0.2.0
func NewMySQLPoolWithPoolConfig(config PoolConfig) (*Pool, error)
NewMySQLPoolWithDefault returns a new *Pool with a PoolConfig object
func (*Pool) GetUsedConnections ¶ added in v0.2.0
GetUsedConnections returns used connection number
func (*Pool) MaintainFreeChan ¶ added in v0.2.0
func (p *Pool) MaintainFreeChan()
MaintainFreeChan maintains free connection channel, if there are insufficient connection in the free connection channel, it will add some connections, otherwise it will release some. for saving disk purpose, if there are errors when maintaining free channel, it will log with debug level
type PoolConfig ¶ added in v0.2.0
type PoolConfig struct {
Config
MaxConnections int
InitConnections int
MaxIdleConnections int
MaxIdleTime int
KeepAliveInterval int
}
func NewPoolConfig ¶ added in v0.2.0
func NewPoolConfig(addr, dbName, dbUser, dbPass string, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) PoolConfig
NewPoolConfig returns a new PoolConfig
func NewPoolConfigWithConfig ¶ added in v0.2.0
func NewPoolConfigWithConfig(config Config, maxConnections, initConnections, maxIdleConnections, maxIdleTime, keepAliveInterval int) PoolConfig
NewPoolConfigWithConfig returns a new PoolConfig
func (*PoolConfig) Validate ¶ added in v0.2.0
func (cfg *PoolConfig) Validate() (bool, error)
Validate validates pool config
type PoolConn ¶ added in v0.2.0
func NewPoolConn ¶ added in v0.2.0
NewPoolConn returns a new *PoolConn
func NewPoolConnWithPool ¶ added in v0.2.0
NewPoolConnWithPool returns a new *PoolConn
func (*PoolConn) DisConnect ¶ added in v0.2.0
DisConnect disconnects from mysql, normally when using connection pool, there is no need to disconnect manually, consider to use Close() instead.