package pool
import "github.com/go-redis/redis/internal/pool"
Index ¶
- Variables
- type BadConnError
- type Conn
- func NewConn(netConn net.Conn) *Conn
- func (cn *Conn) Close() error
- func (cn *Conn) RemoteAddr() net.Addr
- func (cn *Conn) SetNetConn(netConn net.Conn)
- func (cn *Conn) SetUsedAt(tm time.Time)
- func (cn *Conn) UsedAt() time.Time
- func (cn *Conn) WithReader(timeout time.Duration, fn func(rd *proto.Reader) error) error
- func (cn *Conn) WithWriter(timeout time.Duration, fn func(wr *proto.Writer) error) error
- func (cn *Conn) Write(b []byte) (int, error)
- type ConnPool
- func NewConnPool(opt *Options) *ConnPool
- func (p *ConnPool) Close() error
- func (p *ConnPool) CloseConn(cn *Conn) error
- func (p *ConnPool) Filter(fn func(*Conn) bool) error
- func (p *ConnPool) Get() (*Conn, error)
- func (p *ConnPool) IdleLen() int
- func (p *ConnPool) Len() int
- func (p *ConnPool) NewConn() (*Conn, error)
- func (p *ConnPool) Put(cn *Conn)
- func (p *ConnPool) ReapStaleConns() (int, error)
- func (p *ConnPool) Remove(cn *Conn, reason error)
- func (p *ConnPool) Stats() *Stats
- type Options
- type Pooler
- type SingleConnPool
- func NewSingleConnPool(pool Pooler) *SingleConnPool
- func (p *SingleConnPool) Close() error
- func (p *SingleConnPool) CloseConn(cn *Conn) error
- func (p *SingleConnPool) Get() (*Conn, error)
- func (p *SingleConnPool) IdleLen() int
- func (p *SingleConnPool) Len() int
- func (p *SingleConnPool) NewConn() (*Conn, error)
- func (p *SingleConnPool) Put(cn *Conn)
- func (p *SingleConnPool) Remove(cn *Conn, reason error)
- func (p *SingleConnPool) Reset() error
- func (p *SingleConnPool) SetConn(cn *Conn)
- func (p *SingleConnPool) Stats() *Stats
- type Stats
- type StickyConnPool
- func NewStickyConnPool(pool *ConnPool, reusable bool) *StickyConnPool
- func (p *StickyConnPool) Close() error
- func (p *StickyConnPool) CloseConn(*Conn) error
- func (p *StickyConnPool) Get() (*Conn, error)
- func (p *StickyConnPool) IdleLen() int
- func (p *StickyConnPool) Len() int
- func (p *StickyConnPool) NewConn() (*Conn, error)
- func (p *StickyConnPool) Put(cn *Conn)
- func (p *StickyConnPool) Remove(cn *Conn, reason error)
- func (p *StickyConnPool) Stats() *Stats
Variables ¶
Types ¶
type BadConnError ¶
type BadConnError struct {
// contains filtered or unexported fields
}
func (BadConnError) Error ¶
func (e BadConnError) Error() string
func (BadConnError) Unwrap ¶
func (e BadConnError) Unwrap() error
type Conn ¶
type Conn struct { Inited bool // contains filtered or unexported fields }
func NewConn ¶
func (*Conn) Close ¶
func (*Conn) RemoteAddr ¶
func (*Conn) SetNetConn ¶
func (*Conn) SetUsedAt ¶
func (*Conn) UsedAt ¶
func (*Conn) WithReader ¶
func (*Conn) WithWriter ¶
func (*Conn) Write ¶
type ConnPool ¶
type ConnPool struct {
// contains filtered or unexported fields
}
func NewConnPool ¶
func (*ConnPool) Close ¶
func (*ConnPool) CloseConn ¶
func (*ConnPool) Filter ¶
func (*ConnPool) Get ¶
Get returns existed connection from the pool or creates a new one.
func (*ConnPool) IdleLen ¶
IdleLen returns number of idle connections.
func (*ConnPool) Len ¶
Len returns total number of connections.
func (*ConnPool) NewConn ¶
func (*ConnPool) Put ¶
func (*ConnPool) ReapStaleConns ¶
func (*ConnPool) Remove ¶
func (*ConnPool) Stats ¶
type Options ¶
type Options struct { Dialer func() (net.Conn, error) OnClose func(*Conn) error PoolSize int MinIdleConns int MaxConnAge time.Duration PoolTimeout time.Duration IdleTimeout time.Duration IdleCheckFrequency time.Duration }
type Pooler ¶
type Pooler interface { NewConn() (*Conn, error) CloseConn(*Conn) error Get() (*Conn, error) Put(*Conn) Remove(*Conn, error) Len() int IdleLen() int Stats() *Stats Close() error }
type SingleConnPool ¶
type SingleConnPool struct {
// contains filtered or unexported fields
}
func NewSingleConnPool ¶
func NewSingleConnPool(pool Pooler) *SingleConnPool
func (*SingleConnPool) Close ¶
func (p *SingleConnPool) Close() error
func (*SingleConnPool) CloseConn ¶
func (p *SingleConnPool) CloseConn(cn *Conn) error
func (*SingleConnPool) Get ¶
func (p *SingleConnPool) Get() (*Conn, error)
func (*SingleConnPool) IdleLen ¶
func (p *SingleConnPool) IdleLen() int
func (*SingleConnPool) Len ¶
func (p *SingleConnPool) Len() int
func (*SingleConnPool) NewConn ¶
func (p *SingleConnPool) NewConn() (*Conn, error)
func (*SingleConnPool) Put ¶
func (p *SingleConnPool) Put(cn *Conn)
func (*SingleConnPool) Remove ¶
func (p *SingleConnPool) Remove(cn *Conn, reason error)
func (*SingleConnPool) Reset ¶
func (p *SingleConnPool) Reset() error
func (*SingleConnPool) SetConn ¶
func (p *SingleConnPool) SetConn(cn *Conn)
func (*SingleConnPool) Stats ¶
func (p *SingleConnPool) Stats() *Stats
type Stats ¶
type Stats struct { Hits uint32 // number of times free connection was found in the pool Misses uint32 // number of times free connection was NOT found in the pool Timeouts uint32 // number of times a wait timeout occurred TotalConns uint32 // number of total connections in the pool IdleConns uint32 // number of idle connections in the pool StaleConns uint32 // number of stale connections removed from the pool }
Stats contains pool state information and accumulated stats.
type StickyConnPool ¶
type StickyConnPool struct {
// contains filtered or unexported fields
}
func NewStickyConnPool ¶
func NewStickyConnPool(pool *ConnPool, reusable bool) *StickyConnPool
func (*StickyConnPool) Close ¶
func (p *StickyConnPool) Close() error
func (*StickyConnPool) CloseConn ¶
func (p *StickyConnPool) CloseConn(*Conn) error
func (*StickyConnPool) Get ¶
func (p *StickyConnPool) Get() (*Conn, error)
func (*StickyConnPool) IdleLen ¶
func (p *StickyConnPool) IdleLen() int
func (*StickyConnPool) Len ¶
func (p *StickyConnPool) Len() int
func (*StickyConnPool) NewConn ¶
func (p *StickyConnPool) NewConn() (*Conn, error)
func (*StickyConnPool) Put ¶
func (p *StickyConnPool) Put(cn *Conn)
func (*StickyConnPool) Remove ¶
func (p *StickyConnPool) Remove(cn *Conn, reason error)
func (*StickyConnPool) Stats ¶
func (p *StickyConnPool) Stats() *Stats
Source Files ¶
conn.go pool.go pool_single.go pool_sticky.go
- Version
- v6.15.9+incompatible (latest)
- Published
- Aug 7, 2020
- Platform
- linux/amd64
- Imports
- 8 packages
- Last checked
- 5 days ago –
Tools for package owners.