bunproxy

package
v2.0.0 Latest Latest
Warning

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

Go to latest
Published: May 30, 2022 License: BSD-2-Clause Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Default = New()

Default 默认的数据库代理对象

View Source
var DefaultOpts = Options{}
View Source
var ErrProxyAllreadySettedUniversalClient = errors.New("代理不能重复设置客户端对象")

ErrProxyAllreadySettedUniversalClient 代理已经设置过redis客户端对象

View Source
var ErrProxyNotYetSettedUniversalClient = errors.New("代理还未设置客户端对象")

ErrProxyNotYetSettedUniversalClient 代理还未设置客户端对象

View Source
var ErrUnSupportSchema = errors.New("未支持的数据库管理服务类型")

ErrUnSupportSchema 未支持的数据库管理服务类型

View Source
var ErrUnknownClientType = errors.New("未知的redis客户端类型")

ErrUnknownClientType 未知的redis客户端类型

View Source
var Logger *log.Log

Functions

func NewDB

func NewDB(URL string, dopts *Options) (*bun.DB, error)

func SetPool

func SetPool(sqldb *sql.DB, opts *Options)

SetPool 设置连接池信息

func WithConnMaxIdleTimeMS

func WithConnMaxIdleTimeMS(ConnMaxIdleTimeMS int) optparams.Option[Options]

WithConnMaxIdleTimeMS 设置连接池的最大空闲连接超时时间,单位ms

func WithConnMaxLifetimeMS

func WithConnMaxLifetimeMS(ConnMaxLifetimeMS int) optparams.Option[Options]

WithConnMaxLifetimeMS 设置连接池的最大连接超时时间,单位ms

func WithDiscardUnknownColumns

func WithDiscardUnknownColumns() optparams.Option[Options]

WithDiscardUnknownColumns 设置当有未知列时不报错

func WithMaxIdleConns

func WithMaxIdleConns(MaxIdleConns int) optparams.Option[Options]

WithMaxIdleConns 设置连接池的最大空闲连接数

func WithMaxOpenConns

func WithMaxOpenConns(MaxOpenConns int) optparams.Option[Options]

WithMaxOpenConns 设置连接池的最大连接数

func WithParallelCallback

func WithParallelCallback() optparams.Option[Options]

WithParallelCallback 设置初始化后回调并行执行而非串行执行

func WithQueryTimeoutMS

func WithQueryTimeoutMS(QueryTimeout int) optparams.Option[Options]

WithQueryTimeoutMS 设置最大请求超时,单位ms

Types

type Callback

type Callback func(cli *bun.DB) error

Callback redis操作的回调函数

type Options

type Options struct {
	Parallelcallback bool          // 只在Init方法中生效
	QueryTimeout     time.Duration // 只在Init方法中生效

	MaxOpenConns          int
	ConnMaxLifetime       time.Duration
	MaxIdleConns          int
	ConnMaxIdleTime       time.Duration
	DiscardUnknownColumns bool
}

Option 设置key行为的选项 @attribute MaxTTL time.Duration 为0则不设置过期 @attribute AutoRefresh string 需要为crontab格式的字符串,否则不会自动定时刷新

type Proxy

type Proxy struct {
	*bun.DB

	Opt Options
	// contains filtered or unexported fields
}

Proxy bun客户端的代理

func New

func New() *Proxy

New 创建一个新的数据库客户端代理

func (*Proxy) Init

func (proxy *Proxy) Init(URL string, opts ...optparams.Option[Options]) error

Init 初始化代理对象

func (*Proxy) IsOk

func (proxy *Proxy) IsOk() bool

IsOk 检查代理是否已经可用

func (*Proxy) NewCtx

func (proxy *Proxy) NewCtx() (ctx context.Context, cancel context.CancelFunc)

NewCtx 根据注册的超时时间构造一个上下文

func (*Proxy) Regist

func (proxy *Proxy) Regist(cb Callback) error

Regist 注册回调函数,在init执行后执行回调函数 如果对象已经设置了被代理客户端则无法再注册回调函数

func (*Proxy) SetConnect

func (proxy *Proxy) SetConnect(cli *bun.DB) error

SetConnect 设置连接的客户端 @params cli *bun.DB bun的DB对象

Jump to

Keyboard shortcuts

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