redigo

package module
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CacheConfig

type CacheConfig struct {

	// below will have default setting
	DialConnectTimeout time.Duration
	ReadTimeout        time.Duration
	WriteTimeout       time.Duration
	MaxIdle            int
	MaxActive          int
	IdleTimeout        time.Duration
	Wait               bool
	MaxConnLifetime    time.Duration
	// contains filtered or unexported fields
}

CacheConfig properties for cache DB

func (CacheConfig) NewRedisWithRedigo

func (cacheConfig CacheConfig) NewRedisWithRedigo() Redigo

type GoRedisConfigBuilder

type GoRedisConfigBuilder struct {
	// contains filtered or unexported fields
}

type ICacheRepo

type ICacheRepo interface {
	WriteCache(ctx context.Context, key string, data interface{}, ttl time.Duration) (err error)
	WriteCacheIfEmpty(ctx context.Context, key string, data interface{}, ttl time.Duration) (err error)
	GetCache(ctx context.Context, key string) (data []byte, err error)
	DeleteCache(ctx context.Context, key string) (err error)
}

type Redigo

type Redigo struct {
	CachePool *redigo.Pool

	CacheConfig
	// contains filtered or unexported fields
}

func (*Redigo) DeleteCache

func (c *Redigo) DeleteCache(ctx context.Context, key string) (err error)

func (*Redigo) GetCache

func (c *Redigo) GetCache(ctx context.Context, key string) (data []byte, err error)

func (*Redigo) WriteCache

func (c *Redigo) WriteCache(ctx context.Context, key string, data interface{}, ttl time.Duration) (err error)

WriteCache this will and must write the data to cache with corresponding key using locking

func (*Redigo) WriteCacheIfEmpty

func (c *Redigo) WriteCacheIfEmpty(ctx context.Context, key string, data interface{}, ttl time.Duration) (err error)

WriteCacheIfEmpty will try to write to cache, if the data still empty after locking

type RedigoConfigBuilder

type RedigoConfigBuilder struct {
	// contains filtered or unexported fields
}

func NewRedigoConfigBuilder

func NewRedigoConfigBuilder() *RedigoConfigBuilder

func (*RedigoConfigBuilder) Build

func (b *RedigoConfigBuilder) Build() (*CacheConfig, error)

func (*RedigoConfigBuilder) WithDialConnectTimeout

func (b *RedigoConfigBuilder) WithDialConnectTimeout(dialConnectTimeout time.Duration) *RedigoConfigBuilder

func (*RedigoConfigBuilder) WithHost

func (b *RedigoConfigBuilder) WithHost(host string) *RedigoConfigBuilder

func (*RedigoConfigBuilder) WithIdleTimeout

func (b *RedigoConfigBuilder) WithIdleTimeout(idleTimeout time.Duration) *RedigoConfigBuilder

func (*RedigoConfigBuilder) WithMaxActive

func (b *RedigoConfigBuilder) WithMaxActive(maxActive int) *RedigoConfigBuilder

func (*RedigoConfigBuilder) WithMaxConnLifetime

func (b *RedigoConfigBuilder) WithMaxConnLifetime(maxConnLifetime time.Duration) *RedigoConfigBuilder

func (*RedigoConfigBuilder) WithMaxIdle

func (b *RedigoConfigBuilder) WithMaxIdle(maxIdle int) *RedigoConfigBuilder

func (*RedigoConfigBuilder) WithNamespace

func (b *RedigoConfigBuilder) WithNamespace(namespace string) *RedigoConfigBuilder

func (*RedigoConfigBuilder) WithPassword

func (b *RedigoConfigBuilder) WithPassword(password string) *RedigoConfigBuilder

func (*RedigoConfigBuilder) WithPort

func (b *RedigoConfigBuilder) WithPort(port int) *RedigoConfigBuilder

func (*RedigoConfigBuilder) WithReadTimeout

func (b *RedigoConfigBuilder) WithReadTimeout(readTimeout time.Duration) *RedigoConfigBuilder

func (*RedigoConfigBuilder) WithWait

func (b *RedigoConfigBuilder) WithWait(wait bool) *RedigoConfigBuilder

func (*RedigoConfigBuilder) WithWriteTimeout

func (b *RedigoConfigBuilder) WithWriteTimeout(writeTimeout time.Duration) *RedigoConfigBuilder

Jump to

Keyboard shortcuts

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