redis

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2022 License: Apache-2.0 Imports: 4 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewConnection

func NewConnection(config *Config, ops ...Option) (*redis.Client, error)

NewConnection create a new gorm db instance with the given options.

Types

type Config

type Config struct {
	// The network type, either tcp or unix.
	// Default is tcp.
	Network string
	// host:port address.
	Host 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.
	Database 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
	// Connection age at which client retires (closes) the connection.
	// Default is to not close aged connections.
	MaxConnAge 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
	// Amount of time after which client closes idle connections.
	// Should be less than server's timeout.
	// Default is 5 minutes. -1 disables idle timeout check.
	IdleTimeout time.Duration
	// Frequency of idle checks made by idle connections reaper.
	// Default is 1 minute. -1 disables idle connections reaper,
	// but idle connections are still discarded by the client
	// if IdleTimeout is set.
	IdleCheckFrequency time.Duration

	// TLS Config to use. When set TLS will be negotiated.
	TLSConfig *tls.Config
}

Config defines config for redis.

func NewDefaultSimpleConfig

func NewDefaultSimpleConfig(host, password string, database int) *Config

NewDefaultSimpleConfig initialize default simple connection config.

type Option

type Option interface {
	// contains filtered or unexported methods
}

func WithDialTimeout

func WithDialTimeout(timeout time.Duration) Option

WithDialTimeout Specify dial timeout for establishing new connections. Default is 5 seconds.

func WithMaxRetries

func WithMaxRetries(times int) Option

WithMaxRetries Specify maximum number of retries before giving up. Default is to not retry failed commands.

func WithMaxRetryBackoff

func WithMaxRetryBackoff(wait time.Duration) Option

WithMaxRetryBackoff Specify maximum backoff between each retry. Default is 512 milliseconds; -1 disables backoff.

func WithMinRetryBackoff

func WithMinRetryBackoff(wait time.Duration) Option

WithMinRetryBackoff Specify minimum backoff between each retry. Default is 8 milliseconds; -1 disables backoff.

func WithNetwork

func WithNetwork(network string) Option

WithNetwork the network type, either tcp or unix. Default is tcp.

func WithReadTimeout

func WithReadTimeout(timeout time.Duration) Option

WithReadTimeout Specify 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.

Jump to

Keyboard shortcuts

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