idb

package module
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

README

RssDb

推荐化RssDb管理

Documentation

Index

Constants

View Source
const (
	DB_TYPE_MYSQL = "mysql"
	DB_TYPE_REDIS = "redis"
)

Variables

This section is empty.

Functions

func DeleteMysqlConnection

func DeleteMysqlConnection(config MysqlConfig)

func DeleteRedisConnection

func DeleteRedisConnection(config RedisConfig)

func GetOneRandomDBInfo

func GetOneRandomDBInfo(host, port, dbName string) *idbinfo.DBInfo

func GetRedisConnection

func GetRedisConnection(config RedisConfig) (redis.UniversalClient, error)

func InitDBInfoManager

func InitDBInfoManager() error

func InitDBInfoManager_default

func InitDBInfoManager_default() error

func ResetErrorMysqlConnection

func ResetErrorMysqlConnection(config MysqlConfig)

Types

type DBConfig

type DBConfig struct {
	Host     string
	Port     int
	User     string
	Password string
	DbName   string
	// time.Millisecond to dial tcp timeout
	ConnTimeout int
	// time.Millisecond to read tcp timeout
	ReadTimeout int
	// time.Millisecond to write tcp timeout
	WriteTimeout int

	MaxOpenConn  int
	MaxIdleConn  int
	RetryCount   int
	TimeInterval int
	// open ssl or not, true is open, false is close
	FlagSsl bool

	// support mysql/redis/redis-cluster/redis-sentinel
	// TODO add doc
	DBType string `json:"db_type"`

	// The sentinel master name.
	// Only failover clients.
	MasterName string
}

func (*DBConfig) FormatErr

func (this *DBConfig) FormatErr(err interface{}) string

func (*DBConfig) Init

func (this *DBConfig) Init() error

func (*DBConfig) JoinHostPort

func (this *DBConfig) JoinHostPort() string

func (DBConfig) String

func (this DBConfig) String() string

type MysqlConfig

type MysqlConfig struct {
	DBConfig
}

MysqlConfig /*

配置示例:

{
    "Host": "10.141.0.234",
    "Port": 3306,
    "User": "root",
    "Password": "shumeiShumei2016",
    "DbName": "sentry",
    "ConnTimeout": 1000,
    "MaxIdleConn": 50,
    "MaxOpenConn": 200,
    "ReadTimeout": 1000,
    "WriteTimeout": 1000
}

func (*MysqlConfig) Init

func (this *MysqlConfig) Init() error

func (*MysqlConfig) OpenDB

func (this *MysqlConfig) OpenDB() (*MysqlDB, error)

type MysqlDB

type MysqlDB struct {
	*sql.DB
}

func GetMysqlConnection

func GetMysqlConnection(config MysqlConfig) (*MysqlDB, error)

可重复获取 mysql 连接,支持连接复用功能 获取之后,不要 Close。下次获取会直接返回之前创建的连接 如果连接使用过程中出错,可以调用:DeleteMysqlConnection 进行销毁

func (*MysqlDB) CheckDB

func (this *MysqlDB) CheckDB() error

func (*MysqlDB) CloseDB

func (this *MysqlDB) CloseDB() error

type RedisConfig

type RedisConfig struct {
	DBConfig
}

RedisConfig /*

redis 配置示例:

{
    "Host":"10.66.121.171",
    "Port":6379,
    "Password":"shumei123",
    "ConnTimeout":1000,
    "ReadTimeout":1000,
    "WriteTimeout":1000,
    "MaxIdle":50,
    "MaxConn":200,
    "DBType":"redis-cluster"
}

func (*RedisConfig) Init

func (this *RedisConfig) Init() error

func (*RedisConfig) OpenDB

func (this *RedisConfig) OpenDB() (redis.UniversalClient, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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