package pool
import "github.com/go-redis/redis/internal/pool"
Index ¶
- Variables
- func SetIdleCheckFrequency(d time.Duration)
- type Conn
- func NewConn(netConn net.Conn) *Conn
- func (cn *Conn) Close() error
- func (cn *Conn) IsStale(timeout time.Duration) bool
- func (cn *Conn) Read(b []byte) (int, error)
- func (cn *Conn) RemoteAddr() net.Addr
- func (cn *Conn) Write(b []byte) (int, error)
- type ConnPool
- func NewConnPool(dial dialer, poolSize int, poolTimeout, idleTimeout, idleCheckFrequency time.Duration) *ConnPool
- func (p *ConnPool) Close() (retErr error)
- func (p *ConnPool) Closed() bool
- func (p *ConnPool) FreeLen() int
- func (p *ConnPool) Get() (*Conn, error)
- func (p *ConnPool) Len() int
- func (p *ConnPool) NewConn() (*Conn, error)
- func (p *ConnPool) PopFree() *Conn
- func (p *ConnPool) Put(cn *Conn) error
- func (p *ConnPool) ReapStaleConns() (int, error)
- func (p *ConnPool) Remove(cn *Conn, reason error) error
- func (p *ConnPool) Stats() *PoolStats
- type PoolStats
- type Pooler
- type SingleConnPool
- func NewSingleConnPool(cn *Conn) *SingleConnPool
- func (p *SingleConnPool) Close() error
- func (p *SingleConnPool) Closed() bool
- func (p *SingleConnPool) First() *Conn
- func (p *SingleConnPool) FreeLen() int
- func (p *SingleConnPool) Get() (*Conn, error)
- func (p *SingleConnPool) Len() int
- func (p *SingleConnPool) Put(cn *Conn) error
- func (p *SingleConnPool) Remove(cn *Conn, _ error) error
- func (p *SingleConnPool) Stats() *PoolStats
- type StickyConnPool
- func NewStickyConnPool(pool *ConnPool, reusable bool) *StickyConnPool
- func (p *StickyConnPool) Close() error
- func (p *StickyConnPool) Closed() bool
- func (p *StickyConnPool) First() *Conn
- func (p *StickyConnPool) FreeLen() int
- func (p *StickyConnPool) Get() (*Conn, error)
- func (p *StickyConnPool) Len() int
- func (p *StickyConnPool) Put(cn *Conn) error
- func (p *StickyConnPool) Remove(cn *Conn, reason error) error
- func (p *StickyConnPool) Stats() *PoolStats
Variables ¶
var ( ErrClosed = errors.New("redis: client is closed") ErrPoolTimeout = errors.New("redis: connection pool timeout") )
Functions ¶
func SetIdleCheckFrequency ¶
Types ¶
type Conn ¶
type Conn struct { NetConn net.Conn Rd *proto.Reader Wb *proto.WriteBuffer Inited bool UsedAt time.Time ReadTimeout time.Duration WriteTimeout time.Duration }
func NewConn ¶
func (*Conn) Close ¶
func (*Conn) IsStale ¶
func (*Conn) Read ¶
func (*Conn) RemoteAddr ¶
func (*Conn) Write ¶
type ConnPool ¶
type ConnPool struct { DialLimiter *ratelimit.RateLimiter OnClose func(*Conn) error // contains filtered or unexported fields }
func NewConnPool ¶
func NewConnPool(dial dialer, poolSize int, poolTimeout, idleTimeout, idleCheckFrequency time.Duration) *ConnPool
func (*ConnPool) Close ¶
func (*ConnPool) Closed ¶
func (*ConnPool) FreeLen ¶
FreeLen returns number of free connections.
func (*ConnPool) Get ¶
Get returns existed connection from the pool or creates a new one.
func (*ConnPool) Len ¶
Len returns total number of connections.
func (*ConnPool) NewConn ¶
func (*ConnPool) PopFree ¶
func (*ConnPool) Put ¶
func (*ConnPool) ReapStaleConns ¶
func (*ConnPool) Remove ¶
func (*ConnPool) Stats ¶
type PoolStats ¶
type PoolStats struct { Requests uint32 // number of times a connection was requested by the pool Hits uint32 // number of times free connection was found in the pool Timeouts uint32 // number of times a wait timeout occurred TotalConns uint32 // the number of total connections in the pool FreeConns uint32 // the number of free connections in the pool }
PoolStats contains pool state information and accumulated stats.
type Pooler ¶
type Pooler interface { Get() (*Conn, error) Put(*Conn) error Remove(*Conn, error) error Len() int FreeLen() int Stats() *PoolStats Close() error Closed() bool }
type SingleConnPool ¶
type SingleConnPool struct {
// contains filtered or unexported fields
}
func NewSingleConnPool ¶
func NewSingleConnPool(cn *Conn) *SingleConnPool
func (*SingleConnPool) Close ¶
func (p *SingleConnPool) Close() error
func (*SingleConnPool) Closed ¶
func (p *SingleConnPool) Closed() bool
func (*SingleConnPool) First ¶
func (p *SingleConnPool) First() *Conn
func (*SingleConnPool) FreeLen ¶
func (p *SingleConnPool) FreeLen() int
func (*SingleConnPool) Get ¶
func (p *SingleConnPool) Get() (*Conn, error)
func (*SingleConnPool) Len ¶
func (p *SingleConnPool) Len() int
func (*SingleConnPool) Put ¶
func (p *SingleConnPool) Put(cn *Conn) error
func (*SingleConnPool) Remove ¶
func (p *SingleConnPool) Remove(cn *Conn, _ error) error
func (*SingleConnPool) Stats ¶
func (p *SingleConnPool) Stats() *PoolStats
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) Closed ¶
func (p *StickyConnPool) Closed() bool
func (*StickyConnPool) First ¶
func (p *StickyConnPool) First() *Conn
func (*StickyConnPool) FreeLen ¶
func (p *StickyConnPool) FreeLen() int
func (*StickyConnPool) Get ¶
func (p *StickyConnPool) Get() (*Conn, error)
func (*StickyConnPool) Len ¶
func (p *StickyConnPool) Len() int
func (*StickyConnPool) Put ¶
func (p *StickyConnPool) Put(cn *Conn) error
func (*StickyConnPool) Remove ¶
func (p *StickyConnPool) Remove(cn *Conn, reason error) error
func (*StickyConnPool) Stats ¶
func (p *StickyConnPool) Stats() *PoolStats
Source Files ¶
conn.go pool.go pool_single.go pool_sticky.go
- Version
- v4.1.9+incompatible
- Published
- Sep 14, 2016
- Platform
- darwin/amd64
- Imports
- 9 packages
- Last checked
- 2 hours ago –
Tools for package owners.