redis

package
v0.0.0-...-04cfb28 Latest Latest
Warning

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

Go to latest
Published: May 22, 2020 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClusterConfig

type ClusterConfig struct {
	Addrs    []string `json:"Addrs"`
	Password string   `json:"Password"`
	// Database           int      `json:"Database"`
	PoolSize           int  `json:"PoolSize"`
	DialTimeout        int  `json:"DialTimeout"`
	ReadTimeout        int  `json:"ReadTimeout"`
	WriteTimeout       int  `json:"WriteTimeout"`
	PoolTimeout        int  `json:"PoolTimeout"`
	IdleTimeout        int  `json:"IdleTimeout"`
	IdleCheckFrequency int  `json:"IdleCheckFrequency"`
	KeepaliveInterval  int  `json:"KeepaliveInterval"`
	MaxRedirects       int  `json:"MaxRedirects"`
	ReadOnly           bool `json:"ReadOnly"`
	RouteByLatency     bool `json:"RouteByLatency"`
	// contains filtered or unexported fields
}

type Config

type Config struct {
	ID                 string `json:"ID"`
	Addr               string `json:"Addr"`
	Password           string `json:"Password"`
	Database           int    `json:"Database"`
	PoolSize           int    `json:"PoolSize"`
	DialTimeout        int    `json:"DialTimeout"`
	ReadTimeout        int    `json:"ReadTimeout"`
	WriteTimeout       int    `json:"WriteTimeout"`
	PoolTimeout        int    `json:"PoolTimeout"`
	IdleTimeout        int    `json:"IdleTimeout"`
	IdleCheckFrequency int    `json:"IdleCheckFrequency"`
	KeepaliveInterval  int    `json:"KeepaliveInterval"`
	MaxRetries         int    `json:"MaxRetries"`
	// ReadOnly           bool        `json:"ReadOnly"`
	TLSConfig *tls.Config `json:"TLSConfig"`
	Network   string      `json:"Network"`
	// contains filtered or unexported fields
}

type MgrConfig

type MgrConfig map[string]struct {
	Tags      []string
	Shardings []Config
}

type Redis

type Redis struct {
	sync.RWMutex

	Conf Config
	// contains filtered or unexported fields
}

func New

func New(conf Config) *Redis

func (*Redis) Client

func (rds *Redis) Client() *redis.Client

func (*Redis) Close

func (rds *Redis) Close() error

func (*Redis) Eval

func (rds *Redis) Eval(src string, keys []string, args ...interface{}) (interface{}, error)

func (*Redis) EvalSha

func (rds *Redis) EvalSha(tag string, keys []string, args ...interface{}) (interface{}, error)

func (*Redis) LoadScript

func (rds *Redis) LoadScript(tag string, src string) error

应用层应在初始化阶段完成所有LoadScript操作, 初始化后不应再调用此方法

type RedisCluster

type RedisCluster struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewCluster

func NewCluster(conf ClusterConfig) *RedisCluster

func (*RedisCluster) Client

func (rds *RedisCluster) Client() *redis.ClusterClient

func (*RedisCluster) Close

func (rds *RedisCluster) Close() error

func (*RedisCluster) Eval

func (rds *RedisCluster) Eval(src string, keys []string, args ...interface{}) (interface{}, error)

func (*RedisCluster) EvalSha

func (rds *RedisCluster) EvalSha(tag string, keys []string, args ...interface{}) (interface{}, error)

func (*RedisCluster) LoadScript

func (rds *RedisCluster) LoadScript(tag string, src string) error

应用层应在初始化阶段完成所有LoadScript操作, 初始化后不应再调用此方法

type RedisMgr

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

func NewMgr

func NewMgr(mgrConf MgrConfig) *RedisMgr

func (*RedisMgr) ForEach

func (mgr *RedisMgr) ForEach(cb func(string, int, *Redis))

func (*RedisMgr) Get

func (mgr *RedisMgr) Get(tag string, args ...interface{}) *Redis

Jump to

Keyboard shortcuts

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