client

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: May 17, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrBadRespCRLFEnd  = errors.Errorf("bad resp CRLF end")
	ErrBadRespBytesLen = errors.Errorf("bad resp bytes len")
	ErrBadRespArrayLen = errors.Errorf("bad resp array len")
)
View Source
var (
	ErrNil       = errors.New("nil returned")
	ErrWrongType = errors.New("wrong type")
)
View Source
var (
	RecvChanSize = 4096
)

Functions

func AsBulkBytes

func AsBulkBytes(r Resp, err error) ([]byte, error)

func AsError

func AsError(r Resp, err error) ([]byte, error)

func AsInt

func AsInt(r Resp, err error) (int64, error)

func AsString

func AsString(r Resp, err error) ([]byte, error)

func Encode

func Encode(w *bufio.Writer, r Resp, flush bool) error

func EncodeToBytes

func EncodeToBytes(r Resp) ([]byte, error)

func EncodeToString

func EncodeToString(r Resp) (string, error)

func MustEncode

func MustEncode(w *bufio.Writer, r Resp)

func MustEncodeToBytes

func MustEncodeToBytes(r Resp) []byte

func MustHandlerTable

func MustHandlerTable(o interface{}) map[string]HandlerFunc

func NewHandlerTable

func NewHandlerTable(o interface{}) (map[string]HandlerFunc, error)

func ParseArgs

func ParseArgs(resp Resp) (cmd string, args [][]byte, err error)

Types

type Array

type Array struct {
	Value []Resp
}

func NewArray

func NewArray() *Array

func (*Array) Append

func (r *Array) Append(a Resp)

func (*Array) AppendBulkBytes

func (r *Array) AppendBulkBytes(b []byte)

func (*Array) AppendInt

func (r *Array) AppendInt(n int64)

type BulkBytes

type BulkBytes struct {
	Value []byte
}

func NewBulkBytes

func NewBulkBytes(p []byte) *BulkBytes

type ClusterRedis

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

func (*ClusterRedis) Addresses

func (cc *ClusterRedis) Addresses() []string

func (*ClusterRedis) BufioReader

func (cc *ClusterRedis) BufioReader() *bufio.Reader

func (*ClusterRedis) BufioWriter

func (cc *ClusterRedis) BufioWriter() *bufio.Writer

func (*ClusterRedis) Close

func (cc *ClusterRedis) Close() error

func (*ClusterRedis) Do

func (cc *ClusterRedis) Do(cmd string, args ...interface{}) (interface{}, error)

func (*ClusterRedis) DoWithStringReply

func (cc *ClusterRedis) DoWithStringReply(cmd string, args ...interface{}) (string, error)

func (*ClusterRedis) Err

func (cc *ClusterRedis) Err() error

func (*ClusterRedis) Flush

func (cc *ClusterRedis) Flush() error

send batcher and put the return into recvChan

func (*ClusterRedis) IterateNodes

func (cc *ClusterRedis) IterateNodes(result func(string, interface{}, error), cmd string, args ...interface{})

func (*ClusterRedis) NewBatcher

func (cc *ClusterRedis) NewBatcher() common.CmdBatcher

func (*ClusterRedis) Receive

func (cc *ClusterRedis) Receive() (interface{}, error)

func (*ClusterRedis) ReceiveBool

func (cr *ClusterRedis) ReceiveBool() (bool, error)

func (*ClusterRedis) ReceiveString

func (cc *ClusterRedis) ReceiveString() (string, error)

func (*ClusterRedis) RedisType

func (cr *ClusterRedis) RedisType() config.RedisType

func (*ClusterRedis) Send

func (cc *ClusterRedis) Send(cmd string, args ...interface{}) error

@TODO multi/exec : if slots are crossing, doesn't return error

func (*ClusterRedis) SendAndFlush

func (cc *ClusterRedis) SendAndFlush(cmd string, args ...interface{}) error

func (*ClusterRedis) SetBufioReader

func (cc *ClusterRedis) SetBufioReader(rd *bufio.Reader)

type Decoder

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

func NewDecoder

func NewDecoder(r *bufio.Reader) *Decoder

type Error

type Error struct {
	//Value string
	Value []byte
}

type HandlerFunc

type HandlerFunc func(arg0 interface{}, args ...[]byte) (Resp, error)

type HandlerTable

type HandlerTable map[string]HandlerFunc

type Int

type Int struct {
	Value int64
}

func NewInt

func NewInt(n int64) *Int

type Redis

type Redis interface {
	Close() error
	Do(string, ...interface{}) (interface{}, error)
	Send(string, ...interface{}) error
	SendAndFlush(string, ...interface{}) error
	Receive() (interface{}, error)
	ReceiveString() (string, error)
	ReceiveBool() (bool, error)
	BufioReader() *bufio.Reader
	BufioWriter() *bufio.Writer
	Flush() error
	RedisType() config.RedisType
	Addresses() []string

	NewBatcher() common.CmdBatcher

	// for cluster
	IterateNodes(result func(string, interface{}, error), cmd string, args ...interface{})
}

Redis interface

func NewRedis

func NewRedis(cfg config.RedisConfig) (Redis, error)

func NewRedisCluster

func NewRedisCluster(cfg config.RedisConfig) (Redis, error)

type Resp

type Resp interface {
}

func AsArray

func AsArray(r Resp, err error) ([]Resp, error)

func ChangeArgsToResp

func ChangeArgsToResp(cmd []byte, args [][]byte) (resp Resp)

func Decode

func Decode(r *bufio.Reader) (Resp, error)

func DecodeFromBytes

func DecodeFromBytes(p []byte) (Resp, error)

func MustDecode

func MustDecode(r *bufio.Reader) Resp

func MustDecodeFromBytes

func MustDecodeFromBytes(p []byte) Resp

func MustDecodeOpt

func MustDecodeOpt(d *Decoder) (Resp, int64, error)

return the response and current reading offset

func NewCommand

func NewCommand(cmd string, args ...interface{}) Resp

type String

type String struct {
	//Value string
	Value []byte
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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