Documentation ¶
Index ¶
- Variables
- type Config
- type FailoverConfig
- type Logger
- type Provider
- func (p *Provider) Count() int
- func (p *Provider) Destroy(id []byte) error
- func (p *Provider) GC() error
- func (p *Provider) Get(id []byte) ([]byte, error)
- func (p *Provider) NeedGC() bool
- func (p *Provider) Regenerate(id, newID []byte, expiration time.Duration) error
- func (p *Provider) Save(id, data []byte, expiration time.Duration) error
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrConfigAddrEmpty = errors.New("Config Addr must not be empty") ErrConfigMasterNameEmpty = errors.New("Config MasterName must not be empty") )
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // Key prefix KeyPrefix string // Pointer to the logger interface. Logger Logger // The network type, either tcp or unix. // Default is tcp. Network string // host:port address. Addr string // Optional username. Username string // Optional password. Must match the password specified in the // requirepass server configuration option. Password string // Database to be selected after connecting to the server. DB int // Maximum number of retries before giving up. // Default is to not retry failed commands. MaxRetries int // Minimum backoff between each retry. // Default is 8 milliseconds; -1 disables backoff. MinRetryBackoff time.Duration // Maximum backoff between each retry. // Default is 512 milliseconds; -1 disables backoff. MaxRetryBackoff time.Duration // Dial timeout for establishing new connections. // Default is 5 seconds. DialTimeout time.Duration // Timeout for socket reads. If reached, commands will fail // with a timeout instead of blocking. Use value -1 for no timeout and 0 for default. // Default is 3 seconds. ReadTimeout time.Duration // Timeout for socket writes. If reached, commands will fail // with a timeout instead of blocking. // Default is ReadTimeout. WriteTimeout time.Duration // Maximum number of socket connections. // Default is 10 connections per every CPU as reported by runtime.NumCPU. PoolSize int // Minimum number of idle connections which is useful when establishing // new connection is slow. MinIdleConns int // Maximum number of idle connections. MaxIdleConns int // Deprecated: This field has been renamed to ConnMaxLifetime MaxConnAge time.Duration // Maximum amount of time a connection may be reused. // Expired connections may be closed lazily before reuse. // If <= 0, connections are not closed due to a connection's age. // Default is to not close idle connections. ConnMaxLifetime time.Duration // Amount of time client waits for connection if all connections // are busy before returning an error. // Default is ReadTimeout + 1 second. PoolTimeout time.Duration // Deprecated: This field has been renamed to ConnMaxIdleTime IdleTimeout time.Duration // Deprecated: This field has been removed in favor of MaxIdleConns IdleCheckFrequency time.Duration // Maximum amount of time a connection may be idle. // Should be less than server's timeout. // Expired connections may be closed lazily before reuse. // If d <= 0, connections are not closed due to a connection's idle time. // Default is 30 minutes. -1 disables idle timeout check. ConnMaxIdleTime time.Duration // TLS Config to use. When set TLS will be negotiated. TLSConfig *tls.Config // Limiter interface used to implemented circuit breaker or rate limiter. Limiter redis.Limiter }
Config provider settings
type FailoverConfig ¶
type FailoverConfig struct { // Key prefix KeyPrefix string // Pointer to the logger interface. Logger Logger // Optional username. Username string // Optional password. Must match the password specified in the // requirepass server configuration option. Password string // Database to be selected after connecting to the server. DB int // The sentinel master name. MasterName string // The sentinel nodes seed list (host:port). SentinelAddrs []string // The username to use for the sentinel connection if required. If specified, the Redis // client will attempt to authenticate via ACL authentication. If not specified, the // client will use requirepass-style authentication. SentinelUsername string // The password for the sentinel connection if required (different to username/password). SentinelPassword string // Routes read-only commands to the closest node. Only relevant with NewFailoverCluster. RouteByLatency bool // Routes read-only commands in random order. Only relevant with NewFailoverCluster. RouteRandomly bool // Deprecated: This field has been renamed to ReplicaOnly SlaveOnly bool // Route all commands to replica read-only nodes. ReplicaOnly bool // Maximum number of retries before giving up. // Default is to not retry failed commands. MaxRetries int // Minimum backoff between each retry. // Default is 8 milliseconds; -1 disables backoff. MinRetryBackoff time.Duration // Maximum backoff between each retry. // Default is 512 milliseconds; -1 disables backoff. MaxRetryBackoff time.Duration // Dial timeout for establishing new connections. // Default is 5 seconds. DialTimeout time.Duration // Timeout for socket reads. If reached, commands will fail // with a timeout instead of blocking. Use value -1 for no timeout and 0 for default. // Default is 3 seconds. ReadTimeout time.Duration // Timeout for socket writes. If reached, commands will fail // with a timeout instead of blocking. // Default is ReadTimeout. WriteTimeout time.Duration // Maximum number of socket connections. // Default is 10 connections per every CPU as reported by runtime.NumCPU. PoolSize int // Minimum number of idle connections which is useful when establishing // new connection is slow. MinIdleConns int // Maximum number of idle connections. MaxIdleConns int // Deprecated: This field has been renamed to ConnMaxLifetime MaxConnAge time.Duration // Maximum amount of time a connection may be reused. // Expired connections may be closed lazily before reuse. // If <= 0, connections are not closed due to a connection's age. // Default is to not close idle connections. ConnMaxLifetime time.Duration // Amount of time client waits for connection if all connections // are busy before returning an error. // Default is ReadTimeout + 1 second. PoolTimeout time.Duration // Deprecated: This field has been renamed to ConnMaxIdleTime IdleTimeout time.Duration // Maximum amount of time a connection may be idle. // Should be less than server's timeout. // Expired connections may be closed lazily before reuse. // If d <= 0, connections are not closed due to a connection's idle time. // Default is 30 minutes. -1 disables idle timeout check. ConnMaxIdleTime time.Duration // TLS Config to use. When set TLS will be negotiated. TLSConfig *tls.Config }
FailoverConfig provider settings.
type Provider ¶
type Provider struct {
// contains filtered or unexported fields
}
Provider backend manager
func NewFailover ¶
func NewFailover(cfg FailoverConfig) (*Provider, error)
NewFailover returns a new redis provider using sentinel to determine the redis server to connect to.
func NewFailoverCluster ¶
func NewFailoverCluster(cfg FailoverConfig) (*Provider, error)
NewFailoverCluster returns a new redis provider using a group of sentinels to determine the redis server to connect to.
func (*Provider) Regenerate ¶
Regenerate updates the session id and expiration with the new session id of the given current session id
Click to show internal directories.
Click to hide internal directories.