redis

package
v0.0.0-...-650939c Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2017 License: BSD-3-Clause, MPL-2.0 Imports: 15 Imported by: 2

README

Redis client for Golang Build Status

Supports:

  • Redis 3 commands except QUIT, MONITOR, SLOWLOG and SYNC.
  • Pub/Sub.
  • Transactions.
  • Pipelines.
  • Connection pool. Client can be safely used from multiple goroutines.
  • Timeouts.
  • Redis Sentinel.
  • Redis Cluster.

API docs: http://godoc.org/gopkg.in/redis.v3. Examples: http://godoc.org/gopkg.in/redis.v3#pkg-examples.

Installation

Install:

go get gopkg.in/redis.v3

Quickstart

func ExampleNewClient() {
	client := redis.NewClient(&redis.Options{
		Addr:     "localhost:6379",
		Password: "", // no password set
		DB:       0,  // use default DB
	})

	pong, err := client.Ping().Result()
	fmt.Println(pong, err)
	// Output: PONG <nil>
}

func ExampleClient() {
	err := client.Set("key", "value", 0).Err()
	if err != nil {
		panic(err)
	}

	val, err := client.Get("key").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println("key", val)

	val2, err := client.Get("key2").Result()
	if err == redis.Nil {
		fmt.Println("key2 does not exists")
	} else if err != nil {
		panic(err)
	} else {
		fmt.Println("key2", val2)
	}
	// Output: key value
	// key2 does not exists
}

Howto

Please go through examples to get an idea how to use this package.

Look and feel

Some corner cases:

SET key value EX 10 NX
set, err := client.SetNX("key", "value", 10*time.Second).Result()

SORT list LIMIT 0 2 ASC
vals, err := client.Sort("list", redis.Sort{Offset: 0, Count: 2, Order: "ASC"}).Result()

ZRANGEBYSCORE zset -inf +inf WITHSCORES LIMIT 0 2
vals, err := client.ZRangeByScoreWithScores("zset", redis.ZRangeByScore{
    Min: "-inf",
    Max: "+inf",
    Offset: 0,
    Count: 2,
}).Result()

ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3 AGGREGATE SUM
vals, err := client.ZInterStore("out", redis.ZStore{Weights: []int64{2, 3}}, "zset1", "zset2").Result()

EVAL "return {KEYS[1],ARGV[1]}" 1 "key" "hello"
vals, err := client.Eval("return {KEYS[1],ARGV[1]}", []string{"key"}, []string{"hello"}).Result()

Documentation

Overview

Package redis implements a Redis client.

Example (CustomCommand)
Get := func(client *redis.Client, key string) *redis.StringCmd {
	cmd := redis.NewStringCmd("GET", key)
	client.Process(cmd)
	return cmd
}

v, err := Get(client, "key_does_not_exist").Result()
fmt.Printf("%q %s", v, err)
Output:

"" redis: nil

Index

Examples

Constants

This section is empty.

Variables

View Source
var Nil = errorf("redis: nil")

Redis nil reply, .e.g. when key does not exist.

View Source
var TxFailedErr = errorf("redis: transaction failed")

Redis transaction failed.

Functions

This section is empty.

Types

type BitCount

type BitCount struct {
	Start, End int64
}

type BoolCmd

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

func NewBoolCmd

func NewBoolCmd(args ...string) *BoolCmd

func (*BoolCmd) Err

func (cmd *BoolCmd) Err() error

func (*BoolCmd) Result

func (cmd *BoolCmd) Result() (bool, error)

func (*BoolCmd) String

func (cmd *BoolCmd) String() string

func (*BoolCmd) Val

func (cmd *BoolCmd) Val() bool

type BoolSliceCmd

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

func NewBoolSliceCmd

func NewBoolSliceCmd(args ...string) *BoolSliceCmd

func (*BoolSliceCmd) Err

func (cmd *BoolSliceCmd) Err() error

func (*BoolSliceCmd) Result

func (cmd *BoolSliceCmd) Result() ([]bool, error)

func (*BoolSliceCmd) String

func (cmd *BoolSliceCmd) String() string

func (*BoolSliceCmd) Val

func (cmd *BoolSliceCmd) Val() []bool

type Client

type Client struct {
	// contains filtered or unexported fields
}
Example
err := client.Set("key", "value", 0).Err()
if err != nil {
	panic(err)
}

val, err := client.Get("key").Result()
if err != nil {
	panic(err)
}
fmt.Println("key", val)

val2, err := client.Get("key2").Result()
if err == redis.Nil {
	fmt.Println("key2 does not exists")
} else if err != nil {
	panic(err)
} else {
	fmt.Println("key2", val2)
}
Output:

key value
key2 does not exists

func NewClient

func NewClient(opt *Options) *Client
Example
client := redis.NewClient(&redis.Options{
	Addr:     "localhost:6379",
	Password: "", // no password set
	DB:       0,  // use default DB
})

pong, err := client.Ping().Result()
fmt.Println(pong, err)
Output:

PONG <nil>

func NewFailoverClient

func NewFailoverClient(failoverOpt *FailoverOptions) *Client

NewFailoverClient returns a Redis client with automatic failover capabilities using Redis Sentinel.

Example
// See http://redis.io/topics/sentinel for instructions how to
// setup Redis Sentinel.
client := redis.NewFailoverClient(&redis.FailoverOptions{
	MasterName:    "master",
	SentinelAddrs: []string{":26379"},
})
client.Ping()
Output:

func (*Client) Append

func (c *Client) Append(key, value string) *IntCmd

func (*Client) Auth

func (c *Client) Auth(password string) *StatusCmd

func (*Client) BLPop

func (c *Client) BLPop(timeout time.Duration, keys ...string) *StringSliceCmd

func (*Client) BRPop

func (c *Client) BRPop(timeout time.Duration, keys ...string) *StringSliceCmd

func (*Client) BRPopLPush

func (c *Client) BRPopLPush(source, destination string, timeout time.Duration) *StringCmd

func (*Client) BgRewriteAOF

func (c *Client) BgRewriteAOF() *StatusCmd

func (*Client) BgSave

func (c *Client) BgSave() *StatusCmd

func (*Client) BitCount

func (c *Client) BitCount(key string, bitCount *BitCount) *IntCmd

func (*Client) BitOpAnd

func (c *Client) BitOpAnd(destKey string, keys ...string) *IntCmd

func (*Client) BitOpNot

func (c *Client) BitOpNot(destKey string, key string) *IntCmd

func (*Client) BitOpOr

func (c *Client) BitOpOr(destKey string, keys ...string) *IntCmd

func (*Client) BitOpXor

func (c *Client) BitOpXor(destKey string, keys ...string) *IntCmd

func (*Client) BitPos

func (c *Client) BitPos(key string, bit int64, pos ...int64) *IntCmd

func (*Client) ClientKill

func (c *Client) ClientKill(ipPort string) *StatusCmd

func (*Client) ClientList

func (c *Client) ClientList() *StringCmd

func (*Client) ClientPause

func (c *Client) ClientPause(dur time.Duration) *BoolCmd

func (Client) Close

func (c Client) Close() error

Close closes the client, releasing any open resources.

func (*Client) ClusterAddSlots

func (c *Client) ClusterAddSlots(slots ...int) *StatusCmd

func (*Client) ClusterAddSlotsRange

func (c *Client) ClusterAddSlotsRange(min, max int) *StatusCmd

func (*Client) ClusterFailover

func (c *Client) ClusterFailover() *StatusCmd

func (*Client) ClusterInfo

func (c *Client) ClusterInfo() *StringCmd

func (*Client) ClusterMeet

func (c *Client) ClusterMeet(host, port string) *StatusCmd

func (*Client) ClusterNodes

func (c *Client) ClusterNodes() *StringCmd

func (*Client) ClusterReplicate

func (c *Client) ClusterReplicate(nodeID string) *StatusCmd

func (*Client) ClusterSlots

func (c *Client) ClusterSlots() *ClusterSlotCmd

func (*Client) ConfigGet

func (c *Client) ConfigGet(parameter string) *SliceCmd

func (*Client) ConfigResetStat

func (c *Client) ConfigResetStat() *StatusCmd

func (*Client) ConfigSet

func (c *Client) ConfigSet(parameter, value string) *StatusCmd

func (*Client) DbSize

func (c *Client) DbSize() *IntCmd

func (*Client) DebugObject

func (c *Client) DebugObject(key string) *StringCmd

func (*Client) Decr

func (c *Client) Decr(key string) *IntCmd

func (*Client) DecrBy

func (c *Client) DecrBy(key string, decrement int64) *IntCmd

func (*Client) Del

func (c *Client) Del(keys ...string) *IntCmd

func (*Client) Dump

func (c *Client) Dump(key string) *StringCmd

func (*Client) Echo

func (c *Client) Echo(message string) *StringCmd

func (*Client) Eval

func (c *Client) Eval(script string, keys []string, args []string) *Cmd

func (*Client) EvalSha

func (c *Client) EvalSha(sha1 string, keys []string, args []string) *Cmd

func (*Client) Exists

func (c *Client) Exists(key string) *BoolCmd

func (*Client) Expire

func (c *Client) Expire(key string, expiration time.Duration) *BoolCmd

func (*Client) ExpireAt

func (c *Client) ExpireAt(key string, tm time.Time) *BoolCmd

func (*Client) FlushAll

func (c *Client) FlushAll() *StatusCmd

func (*Client) FlushDb

func (c *Client) FlushDb() *StatusCmd

func (*Client) Get

func (c *Client) Get(key string) *StringCmd

func (*Client) GetBit

func (c *Client) GetBit(key string, offset int64) *IntCmd

func (*Client) GetRange

func (c *Client) GetRange(key string, start, end int64) *StringCmd

func (*Client) GetSet

func (c *Client) GetSet(key, value string) *StringCmd

func (*Client) HDel

func (c *Client) HDel(key string, fields ...string) *IntCmd

func (*Client) HExists

func (c *Client) HExists(key, field string) *BoolCmd

func (*Client) HGet

func (c *Client) HGet(key, field string) *StringCmd

func (*Client) HGetAll

func (c *Client) HGetAll(key string) *StringSliceCmd

func (*Client) HGetAllMap

func (c *Client) HGetAllMap(key string) *StringStringMapCmd

func (*Client) HIncrBy

func (c *Client) HIncrBy(key, field string, incr int64) *IntCmd

func (*Client) HIncrByFloat

func (c *Client) HIncrByFloat(key, field string, incr float64) *FloatCmd

func (*Client) HKeys

func (c *Client) HKeys(key string) *StringSliceCmd

func (*Client) HLen

func (c *Client) HLen(key string) *IntCmd

func (*Client) HMGet

func (c *Client) HMGet(key string, fields ...string) *SliceCmd

func (*Client) HMSet

func (c *Client) HMSet(key, field, value string, pairs ...string) *StatusCmd

func (*Client) HScan

func (c *Client) HScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*Client) HSet

func (c *Client) HSet(key, field, value string) *BoolCmd

func (*Client) HSetNX

func (c *Client) HSetNX(key, field, value string) *BoolCmd

func (*Client) HVals

func (c *Client) HVals(key string) *StringSliceCmd

func (*Client) Incr

func (c *Client) Incr(key string) *IntCmd
Example
if err := client.Incr("counter").Err(); err != nil {
	panic(err)
}

n, err := client.Get("counter").Int64()
fmt.Println(n, err)
Output:

1 <nil>

func (*Client) IncrBy

func (c *Client) IncrBy(key string, value int64) *IntCmd

func (*Client) IncrByFloat

func (c *Client) IncrByFloat(key string, value float64) *FloatCmd

func (*Client) Info

func (c *Client) Info() *StringCmd

func (*Client) Keys

func (c *Client) Keys(pattern string) *StringSliceCmd

func (*Client) LIndex

func (c *Client) LIndex(key string, index int64) *StringCmd

func (*Client) LInsert

func (c *Client) LInsert(key, op, pivot, value string) *IntCmd

func (*Client) LLen

func (c *Client) LLen(key string) *IntCmd

func (*Client) LPop

func (c *Client) LPop(key string) *StringCmd

func (*Client) LPush

func (c *Client) LPush(key string, values ...string) *IntCmd

func (*Client) LPushX

func (c *Client) LPushX(key, value string) *IntCmd

func (*Client) LRange

func (c *Client) LRange(key string, start, stop int64) *StringSliceCmd

func (*Client) LRem

func (c *Client) LRem(key string, count int64, value string) *IntCmd

func (*Client) LSet

func (c *Client) LSet(key string, index int64, value string) *StatusCmd

func (*Client) LTrim

func (c *Client) LTrim(key string, start, stop int64) *StatusCmd

func (*Client) LastSave

func (c *Client) LastSave() *IntCmd

func (*Client) MGet

func (c *Client) MGet(keys ...string) *SliceCmd

func (*Client) MSet

func (c *Client) MSet(pairs ...string) *StatusCmd

func (*Client) MSetNX

func (c *Client) MSetNX(pairs ...string) *BoolCmd

func (*Client) Migrate

func (c *Client) Migrate(host, port, key string, db int64, timeout time.Duration) *StatusCmd

func (*Client) Move

func (c *Client) Move(key string, db int64) *BoolCmd

func (*Client) Multi

func (c *Client) Multi() *Multi

func (*Client) ObjectEncoding

func (c *Client) ObjectEncoding(keys ...string) *StringCmd

func (*Client) ObjectIdleTime

func (c *Client) ObjectIdleTime(keys ...string) *DurationCmd

func (*Client) ObjectRefCount

func (c *Client) ObjectRefCount(keys ...string) *IntCmd

func (*Client) PExpire

func (c *Client) PExpire(key string, expiration time.Duration) *BoolCmd

func (*Client) PExpireAt

func (c *Client) PExpireAt(key string, tm time.Time) *BoolCmd

func (*Client) PTTL

func (c *Client) PTTL(key string) *DurationCmd

func (*Client) Persist

func (c *Client) Persist(key string) *BoolCmd

func (*Client) Ping

func (c *Client) Ping() *StatusCmd

func (*Client) Pipeline

func (c *Client) Pipeline() *Pipeline

func (*Client) Pipelined

func (c *Client) Pipelined(f func(*Pipeline) error) ([]Cmder, error)
Example
cmds, err := client.Pipelined(func(c *redis.Pipeline) error {
	c.Set("key1", "hello1", 0)
	c.Get("key1")
	return nil
})
fmt.Println(err)
set := cmds[0].(*redis.StatusCmd)
fmt.Println(set)
get := cmds[1].(*redis.StringCmd)
fmt.Println(get)
Output:

<nil>
SET key1 hello1: OK
GET key1: hello1

func (*Client) Process

func (c *Client) Process(cmd Cmder)

func (*Client) PubSub

func (c *Client) PubSub() *PubSub

func (*Client) PubSubChannels

func (c *Client) PubSubChannels(pattern string) *StringSliceCmd

func (*Client) PubSubNumPat

func (c *Client) PubSubNumPat() *IntCmd

func (*Client) PubSubNumSub

func (c *Client) PubSubNumSub(channels ...string) *StringIntMapCmd

func (*Client) Publish

func (c *Client) Publish(channel, message string) *IntCmd

func (*Client) Quit

func (c *Client) Quit() *StatusCmd

func (*Client) RPop

func (c *Client) RPop(key string) *StringCmd

func (*Client) RPopLPush

func (c *Client) RPopLPush(source, destination string) *StringCmd

func (*Client) RPush

func (c *Client) RPush(key string, values ...string) *IntCmd

func (*Client) RPushX

func (c *Client) RPushX(key string, value string) *IntCmd

func (*Client) RandomKey

func (c *Client) RandomKey() *StringCmd

func (*Client) Rename

func (c *Client) Rename(key, newkey string) *StatusCmd

func (*Client) RenameNX

func (c *Client) RenameNX(key, newkey string) *BoolCmd

func (*Client) Restore

func (c *Client) Restore(key string, ttl int64, value string) *StatusCmd

func (*Client) SAdd

func (c *Client) SAdd(key string, members ...string) *IntCmd

func (*Client) SCard

func (c *Client) SCard(key string) *IntCmd

func (*Client) SDiff

func (c *Client) SDiff(keys ...string) *StringSliceCmd

func (*Client) SDiffStore

func (c *Client) SDiffStore(destination string, keys ...string) *IntCmd

func (*Client) SInter

func (c *Client) SInter(keys ...string) *StringSliceCmd

func (*Client) SInterStore

func (c *Client) SInterStore(destination string, keys ...string) *IntCmd

func (*Client) SIsMember

func (c *Client) SIsMember(key, member string) *BoolCmd

func (*Client) SMembers

func (c *Client) SMembers(key string) *StringSliceCmd

func (*Client) SMove

func (c *Client) SMove(source, destination, member string) *BoolCmd

func (*Client) SPop

func (c *Client) SPop(key string) *StringCmd

func (*Client) SRandMember

func (c *Client) SRandMember(key string) *StringCmd

func (*Client) SRem

func (c *Client) SRem(key string, members ...string) *IntCmd

func (*Client) SScan

func (c *Client) SScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*Client) SUnion

func (c *Client) SUnion(keys ...string) *StringSliceCmd

func (*Client) SUnionStore

func (c *Client) SUnionStore(destination string, keys ...string) *IntCmd

func (*Client) Save

func (c *Client) Save() *StatusCmd

func (*Client) Scan

func (c *Client) Scan(cursor int64, match string, count int64) *ScanCmd

func (*Client) ScriptExists

func (c *Client) ScriptExists(scripts ...string) *BoolSliceCmd

func (*Client) ScriptFlush

func (c *Client) ScriptFlush() *StatusCmd

func (*Client) ScriptKill

func (c *Client) ScriptKill() *StatusCmd

func (*Client) ScriptLoad

func (c *Client) ScriptLoad(script string) *StringCmd

func (*Client) Select

func (c *Client) Select(index int64) *StatusCmd

func (*Client) Set

func (c *Client) Set(key, value string, expiration time.Duration) *StatusCmd

func (*Client) SetBit

func (c *Client) SetBit(key string, offset int64, value int) *IntCmd

func (*Client) SetNX

func (c *Client) SetNX(key, value string, expiration time.Duration) *BoolCmd

func (*Client) SetRange

func (c *Client) SetRange(key string, offset int64, value string) *IntCmd

func (*Client) SetXX

func (c *Client) SetXX(key, value string, expiration time.Duration) *BoolCmd

func (*Client) Shutdown

func (c *Client) Shutdown() *StatusCmd

func (*Client) ShutdownNoSave

func (c *Client) ShutdownNoSave() *StatusCmd

func (*Client) ShutdownSave

func (c *Client) ShutdownSave() *StatusCmd

func (*Client) SlaveOf

func (c *Client) SlaveOf(host, port string) *StatusCmd

func (*Client) SlowLog

func (c *Client) SlowLog()

func (*Client) Sort

func (c *Client) Sort(key string, sort Sort) *StringSliceCmd

func (*Client) StrLen

func (c *Client) StrLen(key string) *IntCmd

func (Client) String

func (c Client) String() string

func (*Client) Sync

func (c *Client) Sync()

func (*Client) TTL

func (c *Client) TTL(key string) *DurationCmd

func (*Client) Time

func (c *Client) Time() *StringSliceCmd

func (*Client) Type

func (c *Client) Type(key string) *StatusCmd

func (*Client) ZAdd

func (c *Client) ZAdd(key string, members ...Z) *IntCmd

func (*Client) ZCard

func (c *Client) ZCard(key string) *IntCmd

func (*Client) ZCount

func (c *Client) ZCount(key, min, max string) *IntCmd

func (*Client) ZIncrBy

func (c *Client) ZIncrBy(key string, increment float64, member string) *FloatCmd

func (*Client) ZInterStore

func (c *Client) ZInterStore(
	destination string,
	store ZStore,
	keys ...string,
) *IntCmd

func (*Client) ZRange

func (c *Client) ZRange(key string, start, stop int64) *StringSliceCmd

func (*Client) ZRangeByScore

func (c *Client) ZRangeByScore(key string, opt ZRangeByScore) *StringSliceCmd

func (*Client) ZRangeByScoreWithScores

func (c *Client) ZRangeByScoreWithScores(key string, opt ZRangeByScore) *ZSliceCmd

func (*Client) ZRangeWithScores

func (c *Client) ZRangeWithScores(key string, start, stop int64) *ZSliceCmd

func (*Client) ZRank

func (c *Client) ZRank(key, member string) *IntCmd

func (*Client) ZRem

func (c *Client) ZRem(key string, members ...string) *IntCmd

func (*Client) ZRemRangeByRank

func (c *Client) ZRemRangeByRank(key string, start, stop int64) *IntCmd

func (*Client) ZRemRangeByScore

func (c *Client) ZRemRangeByScore(key, min, max string) *IntCmd

func (*Client) ZRevRange

func (c *Client) ZRevRange(key string, start, stop int64) *StringSliceCmd

func (*Client) ZRevRangeByScore

func (c *Client) ZRevRangeByScore(key string, opt ZRangeByScore) *StringSliceCmd

func (*Client) ZRevRangeByScoreWithScores

func (c *Client) ZRevRangeByScoreWithScores(key string, opt ZRangeByScore) *ZSliceCmd

func (*Client) ZRevRangeWithScores

func (c *Client) ZRevRangeWithScores(key string, start, stop int64) *ZSliceCmd

func (*Client) ZRevRank

func (c *Client) ZRevRank(key, member string) *IntCmd

func (*Client) ZScan

func (c *Client) ZScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*Client) ZScore

func (c *Client) ZScore(key, member string) *FloatCmd

func (*Client) ZUnionStore

func (c *Client) ZUnionStore(dest string, store ZStore, keys ...string) *IntCmd

type ClusterClient

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

func NewClusterClient

func NewClusterClient(opt *ClusterOptions) *ClusterClient

NewClusterClient returns a new Redis Cluster client as described in http://redis.io/topics/cluster-spec.

Example
// See http://redis.io/topics/cluster-tutorial for instructions
// how to setup Redis Cluster.
client := redis.NewClusterClient(&redis.ClusterOptions{
	Addrs: []string{":7000", ":7001", ":7002", ":7003", ":7004", ":7005"},
})
client.Ping()
Output:

func (*ClusterClient) Append

func (c *ClusterClient) Append(key, value string) *IntCmd

func (*ClusterClient) Auth

func (c *ClusterClient) Auth(password string) *StatusCmd

func (*ClusterClient) BLPop

func (c *ClusterClient) BLPop(timeout time.Duration, keys ...string) *StringSliceCmd

func (*ClusterClient) BRPop

func (c *ClusterClient) BRPop(timeout time.Duration, keys ...string) *StringSliceCmd

func (*ClusterClient) BRPopLPush

func (c *ClusterClient) BRPopLPush(source, destination string, timeout time.Duration) *StringCmd

func (*ClusterClient) BgRewriteAOF

func (c *ClusterClient) BgRewriteAOF() *StatusCmd

func (*ClusterClient) BgSave

func (c *ClusterClient) BgSave() *StatusCmd

func (*ClusterClient) BitCount

func (c *ClusterClient) BitCount(key string, bitCount *BitCount) *IntCmd

func (*ClusterClient) BitOpAnd

func (c *ClusterClient) BitOpAnd(destKey string, keys ...string) *IntCmd

func (*ClusterClient) BitOpNot

func (c *ClusterClient) BitOpNot(destKey string, key string) *IntCmd

func (*ClusterClient) BitOpOr

func (c *ClusterClient) BitOpOr(destKey string, keys ...string) *IntCmd

func (*ClusterClient) BitOpXor

func (c *ClusterClient) BitOpXor(destKey string, keys ...string) *IntCmd

func (*ClusterClient) BitPos

func (c *ClusterClient) BitPos(key string, bit int64, pos ...int64) *IntCmd

func (*ClusterClient) ClientKill

func (c *ClusterClient) ClientKill(ipPort string) *StatusCmd

func (*ClusterClient) ClientList

func (c *ClusterClient) ClientList() *StringCmd

func (*ClusterClient) ClientPause

func (c *ClusterClient) ClientPause(dur time.Duration) *BoolCmd

func (*ClusterClient) Close

func (c *ClusterClient) Close() error

Close closes the cluster client, releasing any open resources.

It is rare to Close a Client, as the Client is meant to be long-lived and shared between many goroutines.

func (*ClusterClient) ClusterAddSlots

func (c *ClusterClient) ClusterAddSlots(slots ...int) *StatusCmd

func (*ClusterClient) ClusterAddSlotsRange

func (c *ClusterClient) ClusterAddSlotsRange(min, max int) *StatusCmd

func (*ClusterClient) ClusterFailover

func (c *ClusterClient) ClusterFailover() *StatusCmd

func (*ClusterClient) ClusterInfo

func (c *ClusterClient) ClusterInfo() *StringCmd

func (*ClusterClient) ClusterMeet

func (c *ClusterClient) ClusterMeet(host, port string) *StatusCmd

func (*ClusterClient) ClusterNodes

func (c *ClusterClient) ClusterNodes() *StringCmd

func (*ClusterClient) ClusterReplicate

func (c *ClusterClient) ClusterReplicate(nodeID string) *StatusCmd

func (*ClusterClient) ClusterSlots

func (c *ClusterClient) ClusterSlots() *ClusterSlotCmd

func (*ClusterClient) ConfigGet

func (c *ClusterClient) ConfigGet(parameter string) *SliceCmd

func (*ClusterClient) ConfigResetStat

func (c *ClusterClient) ConfigResetStat() *StatusCmd

func (*ClusterClient) ConfigSet

func (c *ClusterClient) ConfigSet(parameter, value string) *StatusCmd

func (*ClusterClient) DbSize

func (c *ClusterClient) DbSize() *IntCmd

func (*ClusterClient) DebugObject

func (c *ClusterClient) DebugObject(key string) *StringCmd

func (*ClusterClient) Decr

func (c *ClusterClient) Decr(key string) *IntCmd

func (*ClusterClient) DecrBy

func (c *ClusterClient) DecrBy(key string, decrement int64) *IntCmd

func (*ClusterClient) Del

func (c *ClusterClient) Del(keys ...string) *IntCmd

func (*ClusterClient) Dump

func (c *ClusterClient) Dump(key string) *StringCmd

func (*ClusterClient) Echo

func (c *ClusterClient) Echo(message string) *StringCmd

func (*ClusterClient) Eval

func (c *ClusterClient) Eval(script string, keys []string, args []string) *Cmd

func (*ClusterClient) EvalSha

func (c *ClusterClient) EvalSha(sha1 string, keys []string, args []string) *Cmd

func (*ClusterClient) Exists

func (c *ClusterClient) Exists(key string) *BoolCmd

func (*ClusterClient) Expire

func (c *ClusterClient) Expire(key string, expiration time.Duration) *BoolCmd

func (*ClusterClient) ExpireAt

func (c *ClusterClient) ExpireAt(key string, tm time.Time) *BoolCmd

func (*ClusterClient) FlushAll

func (c *ClusterClient) FlushAll() *StatusCmd

func (*ClusterClient) FlushDb

func (c *ClusterClient) FlushDb() *StatusCmd

func (*ClusterClient) Get

func (c *ClusterClient) Get(key string) *StringCmd

func (*ClusterClient) GetBit

func (c *ClusterClient) GetBit(key string, offset int64) *IntCmd

func (*ClusterClient) GetRange

func (c *ClusterClient) GetRange(key string, start, end int64) *StringCmd

func (*ClusterClient) GetSet

func (c *ClusterClient) GetSet(key, value string) *StringCmd

func (*ClusterClient) HDel

func (c *ClusterClient) HDel(key string, fields ...string) *IntCmd

func (*ClusterClient) HExists

func (c *ClusterClient) HExists(key, field string) *BoolCmd

func (*ClusterClient) HGet

func (c *ClusterClient) HGet(key, field string) *StringCmd

func (*ClusterClient) HGetAll

func (c *ClusterClient) HGetAll(key string) *StringSliceCmd

func (*ClusterClient) HGetAllMap

func (c *ClusterClient) HGetAllMap(key string) *StringStringMapCmd

func (*ClusterClient) HIncrBy

func (c *ClusterClient) HIncrBy(key, field string, incr int64) *IntCmd

func (*ClusterClient) HIncrByFloat

func (c *ClusterClient) HIncrByFloat(key, field string, incr float64) *FloatCmd

func (*ClusterClient) HKeys

func (c *ClusterClient) HKeys(key string) *StringSliceCmd

func (*ClusterClient) HLen

func (c *ClusterClient) HLen(key string) *IntCmd

func (*ClusterClient) HMGet

func (c *ClusterClient) HMGet(key string, fields ...string) *SliceCmd

func (*ClusterClient) HMSet

func (c *ClusterClient) HMSet(key, field, value string, pairs ...string) *StatusCmd

func (*ClusterClient) HScan

func (c *ClusterClient) HScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*ClusterClient) HSet

func (c *ClusterClient) HSet(key, field, value string) *BoolCmd

func (*ClusterClient) HSetNX

func (c *ClusterClient) HSetNX(key, field, value string) *BoolCmd

func (*ClusterClient) HVals

func (c *ClusterClient) HVals(key string) *StringSliceCmd

func (*ClusterClient) Incr

func (c *ClusterClient) Incr(key string) *IntCmd

func (*ClusterClient) IncrBy

func (c *ClusterClient) IncrBy(key string, value int64) *IntCmd

func (*ClusterClient) IncrByFloat

func (c *ClusterClient) IncrByFloat(key string, value float64) *FloatCmd

func (*ClusterClient) Info

func (c *ClusterClient) Info() *StringCmd

func (*ClusterClient) Keys

func (c *ClusterClient) Keys(pattern string) *StringSliceCmd

func (*ClusterClient) LIndex

func (c *ClusterClient) LIndex(key string, index int64) *StringCmd

func (*ClusterClient) LInsert

func (c *ClusterClient) LInsert(key, op, pivot, value string) *IntCmd

func (*ClusterClient) LLen

func (c *ClusterClient) LLen(key string) *IntCmd

func (*ClusterClient) LPop

func (c *ClusterClient) LPop(key string) *StringCmd

func (*ClusterClient) LPush

func (c *ClusterClient) LPush(key string, values ...string) *IntCmd

func (*ClusterClient) LPushX

func (c *ClusterClient) LPushX(key, value string) *IntCmd

func (*ClusterClient) LRange

func (c *ClusterClient) LRange(key string, start, stop int64) *StringSliceCmd

func (*ClusterClient) LRem

func (c *ClusterClient) LRem(key string, count int64, value string) *IntCmd

func (*ClusterClient) LSet

func (c *ClusterClient) LSet(key string, index int64, value string) *StatusCmd

func (*ClusterClient) LTrim

func (c *ClusterClient) LTrim(key string, start, stop int64) *StatusCmd

func (*ClusterClient) LastSave

func (c *ClusterClient) LastSave() *IntCmd

func (*ClusterClient) MGet

func (c *ClusterClient) MGet(keys ...string) *SliceCmd

func (*ClusterClient) MSet

func (c *ClusterClient) MSet(pairs ...string) *StatusCmd

func (*ClusterClient) MSetNX

func (c *ClusterClient) MSetNX(pairs ...string) *BoolCmd

func (*ClusterClient) Migrate

func (c *ClusterClient) Migrate(host, port, key string, db int64, timeout time.Duration) *StatusCmd

func (*ClusterClient) Move

func (c *ClusterClient) Move(key string, db int64) *BoolCmd

func (*ClusterClient) ObjectEncoding

func (c *ClusterClient) ObjectEncoding(keys ...string) *StringCmd

func (*ClusterClient) ObjectIdleTime

func (c *ClusterClient) ObjectIdleTime(keys ...string) *DurationCmd

func (*ClusterClient) ObjectRefCount

func (c *ClusterClient) ObjectRefCount(keys ...string) *IntCmd

func (*ClusterClient) PExpire

func (c *ClusterClient) PExpire(key string, expiration time.Duration) *BoolCmd

func (*ClusterClient) PExpireAt

func (c *ClusterClient) PExpireAt(key string, tm time.Time) *BoolCmd

func (*ClusterClient) PTTL

func (c *ClusterClient) PTTL(key string) *DurationCmd

func (*ClusterClient) Persist

func (c *ClusterClient) Persist(key string) *BoolCmd

func (*ClusterClient) Ping

func (c *ClusterClient) Ping() *StatusCmd

func (*ClusterClient) Pipeline

func (c *ClusterClient) Pipeline() *ClusterPipeline

Pipeline creates a new pipeline which is able to execute commands against multiple shards.

func (*ClusterClient) Process

func (c *ClusterClient) Process(cmd Cmder)

func (*ClusterClient) PubSubChannels

func (c *ClusterClient) PubSubChannels(pattern string) *StringSliceCmd

func (*ClusterClient) PubSubNumPat

func (c *ClusterClient) PubSubNumPat() *IntCmd

func (*ClusterClient) PubSubNumSub

func (c *ClusterClient) PubSubNumSub(channels ...string) *StringIntMapCmd

func (*ClusterClient) Quit

func (c *ClusterClient) Quit() *StatusCmd

func (*ClusterClient) RPop

func (c *ClusterClient) RPop(key string) *StringCmd

func (*ClusterClient) RPopLPush

func (c *ClusterClient) RPopLPush(source, destination string) *StringCmd

func (*ClusterClient) RPush

func (c *ClusterClient) RPush(key string, values ...string) *IntCmd

func (*ClusterClient) RPushX

func (c *ClusterClient) RPushX(key string, value string) *IntCmd

func (*ClusterClient) RandomKey

func (c *ClusterClient) RandomKey() *StringCmd

func (*ClusterClient) Rename

func (c *ClusterClient) Rename(key, newkey string) *StatusCmd

func (*ClusterClient) RenameNX

func (c *ClusterClient) RenameNX(key, newkey string) *BoolCmd

func (*ClusterClient) Restore

func (c *ClusterClient) Restore(key string, ttl int64, value string) *StatusCmd

func (*ClusterClient) SAdd

func (c *ClusterClient) SAdd(key string, members ...string) *IntCmd

func (*ClusterClient) SCard

func (c *ClusterClient) SCard(key string) *IntCmd

func (*ClusterClient) SDiff

func (c *ClusterClient) SDiff(keys ...string) *StringSliceCmd

func (*ClusterClient) SDiffStore

func (c *ClusterClient) SDiffStore(destination string, keys ...string) *IntCmd

func (*ClusterClient) SInter

func (c *ClusterClient) SInter(keys ...string) *StringSliceCmd

func (*ClusterClient) SInterStore

func (c *ClusterClient) SInterStore(destination string, keys ...string) *IntCmd

func (*ClusterClient) SIsMember

func (c *ClusterClient) SIsMember(key, member string) *BoolCmd

func (*ClusterClient) SMembers

func (c *ClusterClient) SMembers(key string) *StringSliceCmd

func (*ClusterClient) SMove

func (c *ClusterClient) SMove(source, destination, member string) *BoolCmd

func (*ClusterClient) SPop

func (c *ClusterClient) SPop(key string) *StringCmd

func (*ClusterClient) SRandMember

func (c *ClusterClient) SRandMember(key string) *StringCmd

func (*ClusterClient) SRem

func (c *ClusterClient) SRem(key string, members ...string) *IntCmd

func (*ClusterClient) SScan

func (c *ClusterClient) SScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*ClusterClient) SUnion

func (c *ClusterClient) SUnion(keys ...string) *StringSliceCmd

func (*ClusterClient) SUnionStore

func (c *ClusterClient) SUnionStore(destination string, keys ...string) *IntCmd

func (*ClusterClient) Save

func (c *ClusterClient) Save() *StatusCmd

func (*ClusterClient) Scan

func (c *ClusterClient) Scan(cursor int64, match string, count int64) *ScanCmd

func (*ClusterClient) ScriptExists

func (c *ClusterClient) ScriptExists(scripts ...string) *BoolSliceCmd

func (*ClusterClient) ScriptFlush

func (c *ClusterClient) ScriptFlush() *StatusCmd

func (*ClusterClient) ScriptKill

func (c *ClusterClient) ScriptKill() *StatusCmd

func (*ClusterClient) ScriptLoad

func (c *ClusterClient) ScriptLoad(script string) *StringCmd

func (*ClusterClient) Select

func (c *ClusterClient) Select(index int64) *StatusCmd

func (*ClusterClient) Set

func (c *ClusterClient) Set(key, value string, expiration time.Duration) *StatusCmd

func (*ClusterClient) SetBit

func (c *ClusterClient) SetBit(key string, offset int64, value int) *IntCmd

func (*ClusterClient) SetNX

func (c *ClusterClient) SetNX(key, value string, expiration time.Duration) *BoolCmd

func (*ClusterClient) SetRange

func (c *ClusterClient) SetRange(key string, offset int64, value string) *IntCmd

func (*ClusterClient) Shutdown

func (c *ClusterClient) Shutdown() *StatusCmd

func (*ClusterClient) ShutdownNoSave

func (c *ClusterClient) ShutdownNoSave() *StatusCmd

func (*ClusterClient) ShutdownSave

func (c *ClusterClient) ShutdownSave() *StatusCmd

func (*ClusterClient) SlaveOf

func (c *ClusterClient) SlaveOf(host, port string) *StatusCmd

func (*ClusterClient) SlowLog

func (c *ClusterClient) SlowLog()

func (*ClusterClient) Sort

func (c *ClusterClient) Sort(key string, sort Sort) *StringSliceCmd

func (*ClusterClient) StrLen

func (c *ClusterClient) StrLen(key string) *IntCmd

func (*ClusterClient) Sync

func (c *ClusterClient) Sync()

func (*ClusterClient) TTL

func (c *ClusterClient) TTL(key string) *DurationCmd

func (*ClusterClient) Time

func (c *ClusterClient) Time() *StringSliceCmd

func (*ClusterClient) Type

func (c *ClusterClient) Type(key string) *StatusCmd

func (*ClusterClient) ZAdd

func (c *ClusterClient) ZAdd(key string, members ...Z) *IntCmd

func (*ClusterClient) ZCard

func (c *ClusterClient) ZCard(key string) *IntCmd

func (*ClusterClient) ZCount

func (c *ClusterClient) ZCount(key, min, max string) *IntCmd

func (*ClusterClient) ZIncrBy

func (c *ClusterClient) ZIncrBy(key string, increment float64, member string) *FloatCmd

func (*ClusterClient) ZInterStore

func (c *ClusterClient) ZInterStore(
	destination string,
	store ZStore,
	keys ...string,
) *IntCmd

func (*ClusterClient) ZRange

func (c *ClusterClient) ZRange(key string, start, stop int64) *StringSliceCmd

func (*ClusterClient) ZRangeByScore

func (c *ClusterClient) ZRangeByScore(key string, opt ZRangeByScore) *StringSliceCmd

func (*ClusterClient) ZRangeByScoreWithScores

func (c *ClusterClient) ZRangeByScoreWithScores(key string, opt ZRangeByScore) *ZSliceCmd

func (*ClusterClient) ZRangeWithScores

func (c *ClusterClient) ZRangeWithScores(key string, start, stop int64) *ZSliceCmd

func (*ClusterClient) ZRank

func (c *ClusterClient) ZRank(key, member string) *IntCmd

func (*ClusterClient) ZRem

func (c *ClusterClient) ZRem(key string, members ...string) *IntCmd

func (*ClusterClient) ZRemRangeByRank

func (c *ClusterClient) ZRemRangeByRank(key string, start, stop int64) *IntCmd

func (*ClusterClient) ZRemRangeByScore

func (c *ClusterClient) ZRemRangeByScore(key, min, max string) *IntCmd

func (*ClusterClient) ZRevRange

func (c *ClusterClient) ZRevRange(key string, start, stop int64) *StringSliceCmd

func (*ClusterClient) ZRevRangeByScore

func (c *ClusterClient) ZRevRangeByScore(key string, opt ZRangeByScore) *StringSliceCmd

func (*ClusterClient) ZRevRangeByScoreWithScores

func (c *ClusterClient) ZRevRangeByScoreWithScores(key string, opt ZRangeByScore) *ZSliceCmd

func (*ClusterClient) ZRevRangeWithScores

func (c *ClusterClient) ZRevRangeWithScores(key string, start, stop int64) *ZSliceCmd

func (*ClusterClient) ZRevRank

func (c *ClusterClient) ZRevRank(key, member string) *IntCmd

func (*ClusterClient) ZScan

func (c *ClusterClient) ZScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*ClusterClient) ZScore

func (c *ClusterClient) ZScore(key, member string) *FloatCmd

func (*ClusterClient) ZUnionStore

func (c *ClusterClient) ZUnionStore(dest string, store ZStore, keys ...string) *IntCmd

type ClusterOptions

type ClusterOptions struct {
	// A seed list of host:port addresses of cluster nodes.
	Addrs []string

	// The maximum number of MOVED/ASK redirects to follow before
	// giving up.
	// Default is 16
	MaxRedirects int

	Password string

	DialTimeout  time.Duration
	ReadTimeout  time.Duration
	WriteTimeout time.Duration

	PoolSize    int
	PoolTimeout time.Duration
	IdleTimeout time.Duration
}

ClusterOptions are used to configure a cluster client and should be passed to NewClusterClient.

type ClusterPipeline

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

ClusterPipeline is not thread-safe.

func (*ClusterPipeline) Append

func (c *ClusterPipeline) Append(key, value string) *IntCmd

func (*ClusterPipeline) Auth

func (c *ClusterPipeline) Auth(password string) *StatusCmd

func (*ClusterPipeline) BLPop

func (c *ClusterPipeline) BLPop(timeout time.Duration, keys ...string) *StringSliceCmd

func (*ClusterPipeline) BRPop

func (c *ClusterPipeline) BRPop(timeout time.Duration, keys ...string) *StringSliceCmd

func (*ClusterPipeline) BRPopLPush

func (c *ClusterPipeline) BRPopLPush(source, destination string, timeout time.Duration) *StringCmd

func (*ClusterPipeline) BgRewriteAOF

func (c *ClusterPipeline) BgRewriteAOF() *StatusCmd

func (*ClusterPipeline) BgSave

func (c *ClusterPipeline) BgSave() *StatusCmd

func (*ClusterPipeline) BitCount

func (c *ClusterPipeline) BitCount(key string, bitCount *BitCount) *IntCmd

func (*ClusterPipeline) BitOpAnd

func (c *ClusterPipeline) BitOpAnd(destKey string, keys ...string) *IntCmd

func (*ClusterPipeline) BitOpNot

func (c *ClusterPipeline) BitOpNot(destKey string, key string) *IntCmd

func (*ClusterPipeline) BitOpOr

func (c *ClusterPipeline) BitOpOr(destKey string, keys ...string) *IntCmd

func (*ClusterPipeline) BitOpXor

func (c *ClusterPipeline) BitOpXor(destKey string, keys ...string) *IntCmd

func (*ClusterPipeline) BitPos

func (c *ClusterPipeline) BitPos(key string, bit int64, pos ...int64) *IntCmd

func (*ClusterPipeline) ClientKill

func (c *ClusterPipeline) ClientKill(ipPort string) *StatusCmd

func (*ClusterPipeline) ClientList

func (c *ClusterPipeline) ClientList() *StringCmd

func (*ClusterPipeline) ClientPause

func (c *ClusterPipeline) ClientPause(dur time.Duration) *BoolCmd

func (*ClusterPipeline) Close

func (c *ClusterPipeline) Close() error

Close marks the pipeline as closed

func (*ClusterPipeline) ClusterAddSlots

func (c *ClusterPipeline) ClusterAddSlots(slots ...int) *StatusCmd

func (*ClusterPipeline) ClusterAddSlotsRange

func (c *ClusterPipeline) ClusterAddSlotsRange(min, max int) *StatusCmd

func (*ClusterPipeline) ClusterFailover

func (c *ClusterPipeline) ClusterFailover() *StatusCmd

func (*ClusterPipeline) ClusterInfo

func (c *ClusterPipeline) ClusterInfo() *StringCmd

func (*ClusterPipeline) ClusterMeet

func (c *ClusterPipeline) ClusterMeet(host, port string) *StatusCmd

func (*ClusterPipeline) ClusterNodes

func (c *ClusterPipeline) ClusterNodes() *StringCmd

func (*ClusterPipeline) ClusterReplicate

func (c *ClusterPipeline) ClusterReplicate(nodeID string) *StatusCmd

func (*ClusterPipeline) ClusterSlots

func (c *ClusterPipeline) ClusterSlots() *ClusterSlotCmd

func (*ClusterPipeline) ConfigGet

func (c *ClusterPipeline) ConfigGet(parameter string) *SliceCmd

func (*ClusterPipeline) ConfigResetStat

func (c *ClusterPipeline) ConfigResetStat() *StatusCmd

func (*ClusterPipeline) ConfigSet

func (c *ClusterPipeline) ConfigSet(parameter, value string) *StatusCmd

func (*ClusterPipeline) DbSize

func (c *ClusterPipeline) DbSize() *IntCmd

func (*ClusterPipeline) DebugObject

func (c *ClusterPipeline) DebugObject(key string) *StringCmd

func (*ClusterPipeline) Decr

func (c *ClusterPipeline) Decr(key string) *IntCmd

func (*ClusterPipeline) DecrBy

func (c *ClusterPipeline) DecrBy(key string, decrement int64) *IntCmd

func (*ClusterPipeline) Del

func (c *ClusterPipeline) Del(keys ...string) *IntCmd

func (*ClusterPipeline) Discard

func (c *ClusterPipeline) Discard() error

Discard resets the pipeline and discards queued commands

func (*ClusterPipeline) Dump

func (c *ClusterPipeline) Dump(key string) *StringCmd

func (*ClusterPipeline) Echo

func (c *ClusterPipeline) Echo(message string) *StringCmd

func (*ClusterPipeline) Eval

func (c *ClusterPipeline) Eval(script string, keys []string, args []string) *Cmd

func (*ClusterPipeline) EvalSha

func (c *ClusterPipeline) EvalSha(sha1 string, keys []string, args []string) *Cmd

func (*ClusterPipeline) Exec

func (c *ClusterPipeline) Exec() (cmds []Cmder, retErr error)

func (*ClusterPipeline) Exists

func (c *ClusterPipeline) Exists(key string) *BoolCmd

func (*ClusterPipeline) Expire

func (c *ClusterPipeline) Expire(key string, expiration time.Duration) *BoolCmd

func (*ClusterPipeline) ExpireAt

func (c *ClusterPipeline) ExpireAt(key string, tm time.Time) *BoolCmd

func (*ClusterPipeline) FlushAll

func (c *ClusterPipeline) FlushAll() *StatusCmd

func (*ClusterPipeline) FlushDb

func (c *ClusterPipeline) FlushDb() *StatusCmd

func (*ClusterPipeline) Get

func (c *ClusterPipeline) Get(key string) *StringCmd

func (*ClusterPipeline) GetBit

func (c *ClusterPipeline) GetBit(key string, offset int64) *IntCmd

func (*ClusterPipeline) GetRange

func (c *ClusterPipeline) GetRange(key string, start, end int64) *StringCmd

func (*ClusterPipeline) GetSet

func (c *ClusterPipeline) GetSet(key, value string) *StringCmd

func (*ClusterPipeline) HDel

func (c *ClusterPipeline) HDel(key string, fields ...string) *IntCmd

func (*ClusterPipeline) HExists

func (c *ClusterPipeline) HExists(key, field string) *BoolCmd

func (*ClusterPipeline) HGet

func (c *ClusterPipeline) HGet(key, field string) *StringCmd

func (*ClusterPipeline) HGetAll

func (c *ClusterPipeline) HGetAll(key string) *StringSliceCmd

func (*ClusterPipeline) HGetAllMap

func (c *ClusterPipeline) HGetAllMap(key string) *StringStringMapCmd

func (*ClusterPipeline) HIncrBy

func (c *ClusterPipeline) HIncrBy(key, field string, incr int64) *IntCmd

func (*ClusterPipeline) HIncrByFloat

func (c *ClusterPipeline) HIncrByFloat(key, field string, incr float64) *FloatCmd

func (*ClusterPipeline) HKeys

func (c *ClusterPipeline) HKeys(key string) *StringSliceCmd

func (*ClusterPipeline) HLen

func (c *ClusterPipeline) HLen(key string) *IntCmd

func (*ClusterPipeline) HMGet

func (c *ClusterPipeline) HMGet(key string, fields ...string) *SliceCmd

func (*ClusterPipeline) HMSet

func (c *ClusterPipeline) HMSet(key, field, value string, pairs ...string) *StatusCmd

func (*ClusterPipeline) HScan

func (c *ClusterPipeline) HScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*ClusterPipeline) HSet

func (c *ClusterPipeline) HSet(key, field, value string) *BoolCmd

func (*ClusterPipeline) HSetNX

func (c *ClusterPipeline) HSetNX(key, field, value string) *BoolCmd

func (*ClusterPipeline) HVals

func (c *ClusterPipeline) HVals(key string) *StringSliceCmd

func (*ClusterPipeline) Incr

func (c *ClusterPipeline) Incr(key string) *IntCmd

func (*ClusterPipeline) IncrBy

func (c *ClusterPipeline) IncrBy(key string, value int64) *IntCmd

func (*ClusterPipeline) IncrByFloat

func (c *ClusterPipeline) IncrByFloat(key string, value float64) *FloatCmd

func (*ClusterPipeline) Info

func (c *ClusterPipeline) Info() *StringCmd

func (*ClusterPipeline) Keys

func (c *ClusterPipeline) Keys(pattern string) *StringSliceCmd

func (*ClusterPipeline) LIndex

func (c *ClusterPipeline) LIndex(key string, index int64) *StringCmd

func (*ClusterPipeline) LInsert

func (c *ClusterPipeline) LInsert(key, op, pivot, value string) *IntCmd

func (*ClusterPipeline) LLen

func (c *ClusterPipeline) LLen(key string) *IntCmd

func (*ClusterPipeline) LPop

func (c *ClusterPipeline) LPop(key string) *StringCmd

func (*ClusterPipeline) LPush

func (c *ClusterPipeline) LPush(key string, values ...string) *IntCmd

func (*ClusterPipeline) LPushX

func (c *ClusterPipeline) LPushX(key, value string) *IntCmd

func (*ClusterPipeline) LRange

func (c *ClusterPipeline) LRange(key string, start, stop int64) *StringSliceCmd

func (*ClusterPipeline) LRem

func (c *ClusterPipeline) LRem(key string, count int64, value string) *IntCmd

func (*ClusterPipeline) LSet

func (c *ClusterPipeline) LSet(key string, index int64, value string) *StatusCmd

func (*ClusterPipeline) LTrim

func (c *ClusterPipeline) LTrim(key string, start, stop int64) *StatusCmd

func (*ClusterPipeline) LastSave

func (c *ClusterPipeline) LastSave() *IntCmd

func (*ClusterPipeline) MGet

func (c *ClusterPipeline) MGet(keys ...string) *SliceCmd

func (*ClusterPipeline) MSet

func (c *ClusterPipeline) MSet(pairs ...string) *StatusCmd

func (*ClusterPipeline) MSetNX

func (c *ClusterPipeline) MSetNX(pairs ...string) *BoolCmd

func (*ClusterPipeline) Migrate

func (c *ClusterPipeline) Migrate(host, port, key string, db int64, timeout time.Duration) *StatusCmd

func (*ClusterPipeline) Move

func (c *ClusterPipeline) Move(key string, db int64) *BoolCmd

func (*ClusterPipeline) ObjectEncoding

func (c *ClusterPipeline) ObjectEncoding(keys ...string) *StringCmd

func (*ClusterPipeline) ObjectIdleTime

func (c *ClusterPipeline) ObjectIdleTime(keys ...string) *DurationCmd

func (*ClusterPipeline) ObjectRefCount

func (c *ClusterPipeline) ObjectRefCount(keys ...string) *IntCmd

func (*ClusterPipeline) PExpire

func (c *ClusterPipeline) PExpire(key string, expiration time.Duration) *BoolCmd

func (*ClusterPipeline) PExpireAt

func (c *ClusterPipeline) PExpireAt(key string, tm time.Time) *BoolCmd

func (*ClusterPipeline) PTTL

func (c *ClusterPipeline) PTTL(key string) *DurationCmd

func (*ClusterPipeline) Persist

func (c *ClusterPipeline) Persist(key string) *BoolCmd

func (*ClusterPipeline) Ping

func (c *ClusterPipeline) Ping() *StatusCmd

func (*ClusterPipeline) Process

func (c *ClusterPipeline) Process(cmd Cmder)

func (*ClusterPipeline) PubSubChannels

func (c *ClusterPipeline) PubSubChannels(pattern string) *StringSliceCmd

func (*ClusterPipeline) PubSubNumPat

func (c *ClusterPipeline) PubSubNumPat() *IntCmd

func (*ClusterPipeline) PubSubNumSub

func (c *ClusterPipeline) PubSubNumSub(channels ...string) *StringIntMapCmd

func (*ClusterPipeline) Quit

func (c *ClusterPipeline) Quit() *StatusCmd

func (*ClusterPipeline) RPop

func (c *ClusterPipeline) RPop(key string) *StringCmd

func (*ClusterPipeline) RPopLPush

func (c *ClusterPipeline) RPopLPush(source, destination string) *StringCmd

func (*ClusterPipeline) RPush

func (c *ClusterPipeline) RPush(key string, values ...string) *IntCmd

func (*ClusterPipeline) RPushX

func (c *ClusterPipeline) RPushX(key string, value string) *IntCmd

func (*ClusterPipeline) RandomKey

func (c *ClusterPipeline) RandomKey() *StringCmd

func (*ClusterPipeline) Rename

func (c *ClusterPipeline) Rename(key, newkey string) *StatusCmd

func (*ClusterPipeline) RenameNX

func (c *ClusterPipeline) RenameNX(key, newkey string) *BoolCmd

func (*ClusterPipeline) Restore

func (c *ClusterPipeline) Restore(key string, ttl int64, value string) *StatusCmd

func (*ClusterPipeline) SAdd

func (c *ClusterPipeline) SAdd(key string, members ...string) *IntCmd

func (*ClusterPipeline) SCard

func (c *ClusterPipeline) SCard(key string) *IntCmd

func (*ClusterPipeline) SDiff

func (c *ClusterPipeline) SDiff(keys ...string) *StringSliceCmd

func (*ClusterPipeline) SDiffStore

func (c *ClusterPipeline) SDiffStore(destination string, keys ...string) *IntCmd

func (*ClusterPipeline) SInter

func (c *ClusterPipeline) SInter(keys ...string) *StringSliceCmd

func (*ClusterPipeline) SInterStore

func (c *ClusterPipeline) SInterStore(destination string, keys ...string) *IntCmd

func (*ClusterPipeline) SIsMember

func (c *ClusterPipeline) SIsMember(key, member string) *BoolCmd

func (*ClusterPipeline) SMembers

func (c *ClusterPipeline) SMembers(key string) *StringSliceCmd

func (*ClusterPipeline) SMove

func (c *ClusterPipeline) SMove(source, destination, member string) *BoolCmd

func (*ClusterPipeline) SPop

func (c *ClusterPipeline) SPop(key string) *StringCmd

func (*ClusterPipeline) SRandMember

func (c *ClusterPipeline) SRandMember(key string) *StringCmd

func (*ClusterPipeline) SRem

func (c *ClusterPipeline) SRem(key string, members ...string) *IntCmd

func (*ClusterPipeline) SScan

func (c *ClusterPipeline) SScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*ClusterPipeline) SUnion

func (c *ClusterPipeline) SUnion(keys ...string) *StringSliceCmd

func (*ClusterPipeline) SUnionStore

func (c *ClusterPipeline) SUnionStore(destination string, keys ...string) *IntCmd

func (*ClusterPipeline) Save

func (c *ClusterPipeline) Save() *StatusCmd

func (*ClusterPipeline) Scan

func (c *ClusterPipeline) Scan(cursor int64, match string, count int64) *ScanCmd

func (*ClusterPipeline) ScriptExists

func (c *ClusterPipeline) ScriptExists(scripts ...string) *BoolSliceCmd

func (*ClusterPipeline) ScriptFlush

func (c *ClusterPipeline) ScriptFlush() *StatusCmd

func (*ClusterPipeline) ScriptKill

func (c *ClusterPipeline) ScriptKill() *StatusCmd

func (*ClusterPipeline) ScriptLoad

func (c *ClusterPipeline) ScriptLoad(script string) *StringCmd

func (*ClusterPipeline) Select

func (c *ClusterPipeline) Select(index int64) *StatusCmd

func (*ClusterPipeline) Set

func (c *ClusterPipeline) Set(key, value string, expiration time.Duration) *StatusCmd

func (*ClusterPipeline) SetBit

func (c *ClusterPipeline) SetBit(key string, offset int64, value int) *IntCmd

func (*ClusterPipeline) SetNX

func (c *ClusterPipeline) SetNX(key, value string, expiration time.Duration) *BoolCmd

func (*ClusterPipeline) SetRange

func (c *ClusterPipeline) SetRange(key string, offset int64, value string) *IntCmd

func (*ClusterPipeline) Shutdown

func (c *ClusterPipeline) Shutdown() *StatusCmd

func (*ClusterPipeline) ShutdownNoSave

func (c *ClusterPipeline) ShutdownNoSave() *StatusCmd

func (*ClusterPipeline) ShutdownSave

func (c *ClusterPipeline) ShutdownSave() *StatusCmd

func (*ClusterPipeline) SlaveOf

func (c *ClusterPipeline) SlaveOf(host, port string) *StatusCmd

func (*ClusterPipeline) SlowLog

func (c *ClusterPipeline) SlowLog()

func (*ClusterPipeline) Sort

func (c *ClusterPipeline) Sort(key string, sort Sort) *StringSliceCmd

func (*ClusterPipeline) StrLen

func (c *ClusterPipeline) StrLen(key string) *IntCmd

func (*ClusterPipeline) Sync

func (c *ClusterPipeline) Sync()

func (*ClusterPipeline) TTL

func (c *ClusterPipeline) TTL(key string) *DurationCmd

func (*ClusterPipeline) Time

func (c *ClusterPipeline) Time() *StringSliceCmd

func (*ClusterPipeline) Type

func (c *ClusterPipeline) Type(key string) *StatusCmd

func (*ClusterPipeline) ZAdd

func (c *ClusterPipeline) ZAdd(key string, members ...Z) *IntCmd

func (*ClusterPipeline) ZCard

func (c *ClusterPipeline) ZCard(key string) *IntCmd

func (*ClusterPipeline) ZCount

func (c *ClusterPipeline) ZCount(key, min, max string) *IntCmd

func (*ClusterPipeline) ZIncrBy

func (c *ClusterPipeline) ZIncrBy(key string, increment float64, member string) *FloatCmd

func (*ClusterPipeline) ZInterStore

func (c *ClusterPipeline) ZInterStore(
	destination string,
	store ZStore,
	keys ...string,
) *IntCmd

func (*ClusterPipeline) ZRange

func (c *ClusterPipeline) ZRange(key string, start, stop int64) *StringSliceCmd

func (*ClusterPipeline) ZRangeByScore

func (c *ClusterPipeline) ZRangeByScore(key string, opt ZRangeByScore) *StringSliceCmd

func (*ClusterPipeline) ZRangeByScoreWithScores

func (c *ClusterPipeline) ZRangeByScoreWithScores(key string, opt ZRangeByScore) *ZSliceCmd

func (*ClusterPipeline) ZRangeWithScores

func (c *ClusterPipeline) ZRangeWithScores(key string, start, stop int64) *ZSliceCmd

func (*ClusterPipeline) ZRank

func (c *ClusterPipeline) ZRank(key, member string) *IntCmd

func (*ClusterPipeline) ZRem

func (c *ClusterPipeline) ZRem(key string, members ...string) *IntCmd

func (*ClusterPipeline) ZRemRangeByRank

func (c *ClusterPipeline) ZRemRangeByRank(key string, start, stop int64) *IntCmd

func (*ClusterPipeline) ZRemRangeByScore

func (c *ClusterPipeline) ZRemRangeByScore(key, min, max string) *IntCmd

func (*ClusterPipeline) ZRevRange

func (c *ClusterPipeline) ZRevRange(key string, start, stop int64) *StringSliceCmd

func (*ClusterPipeline) ZRevRangeByScore

func (c *ClusterPipeline) ZRevRangeByScore(key string, opt ZRangeByScore) *StringSliceCmd

func (*ClusterPipeline) ZRevRangeByScoreWithScores

func (c *ClusterPipeline) ZRevRangeByScoreWithScores(key string, opt ZRangeByScore) *ZSliceCmd

func (*ClusterPipeline) ZRevRangeWithScores

func (c *ClusterPipeline) ZRevRangeWithScores(key string, start, stop int64) *ZSliceCmd

func (*ClusterPipeline) ZRevRank

func (c *ClusterPipeline) ZRevRank(key, member string) *IntCmd

func (*ClusterPipeline) ZScan

func (c *ClusterPipeline) ZScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*ClusterPipeline) ZScore

func (c *ClusterPipeline) ZScore(key, member string) *FloatCmd

func (*ClusterPipeline) ZUnionStore

func (c *ClusterPipeline) ZUnionStore(dest string, store ZStore, keys ...string) *IntCmd

type ClusterSlotCmd

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

func NewClusterSlotCmd

func NewClusterSlotCmd(args ...string) *ClusterSlotCmd

func (*ClusterSlotCmd) Err

func (cmd *ClusterSlotCmd) Err() error

func (*ClusterSlotCmd) Result

func (cmd *ClusterSlotCmd) Result() ([]ClusterSlotInfo, error)

func (*ClusterSlotCmd) String

func (cmd *ClusterSlotCmd) String() string

func (*ClusterSlotCmd) Val

func (cmd *ClusterSlotCmd) Val() []ClusterSlotInfo

type ClusterSlotInfo

type ClusterSlotInfo struct {
	Start, End int
	Addrs      []string
}

type Cmd

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

func NewCmd

func NewCmd(args ...string) *Cmd

func (*Cmd) Err

func (cmd *Cmd) Err() error

func (*Cmd) Result

func (cmd *Cmd) Result() (interface{}, error)

func (*Cmd) String

func (cmd *Cmd) String() string

func (*Cmd) Val

func (cmd *Cmd) Val() interface{}

type Cmder

type Cmder interface {
	Err() error
	String() string
	// contains filtered or unexported methods
}

type DurationCmd

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

func NewDurationCmd

func NewDurationCmd(precision time.Duration, args ...string) *DurationCmd

func (*DurationCmd) Err

func (cmd *DurationCmd) Err() error

func (*DurationCmd) Result

func (cmd *DurationCmd) Result() (time.Duration, error)

func (*DurationCmd) String

func (cmd *DurationCmd) String() string

func (*DurationCmd) Val

func (cmd *DurationCmd) Val() time.Duration

type FailoverOptions

type FailoverOptions struct {
	// The master name.
	MasterName string
	// A seed list of host:port addresses of sentinel nodes.
	SentinelAddrs []string

	Password string
	DB       int64

	DialTimeout  time.Duration
	ReadTimeout  time.Duration
	WriteTimeout time.Duration

	PoolSize    int
	PoolTimeout time.Duration
	IdleTimeout time.Duration
}

FailoverOptions are used to configure a failover client and should be passed to NewFailoverClient.

type FloatCmd

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

func NewFloatCmd

func NewFloatCmd(args ...string) *FloatCmd

func (*FloatCmd) Err

func (cmd *FloatCmd) Err() error

func (*FloatCmd) String

func (cmd *FloatCmd) String() string

func (*FloatCmd) Val

func (cmd *FloatCmd) Val() float64

type IntCmd

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

func NewIntCmd

func NewIntCmd(args ...string) *IntCmd

func (*IntCmd) Err

func (cmd *IntCmd) Err() error

func (*IntCmd) Result

func (cmd *IntCmd) Result() (int64, error)

func (*IntCmd) String

func (cmd *IntCmd) String() string

func (*IntCmd) Val

func (cmd *IntCmd) Val() int64

type Message

type Message struct {
	Channel string
	Payload string
}

Message received as result of a PUBLISH command issued by another client.

func (*Message) String

func (m *Message) String() string

type Multi

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

Multi implements Redis transactions as described in http://redis.io/topics/transactions.

Example
incr := func(tx *redis.Multi) ([]redis.Cmder, error) {
	s, err := tx.Get("key").Result()
	if err != nil && err != redis.Nil {
		return nil, err
	}
	n, _ := strconv.ParseInt(s, 10, 64)

	return tx.Exec(func() error {
		tx.Set("key", strconv.FormatInt(n+1, 10), 0)
		return nil
	})
}

client.Del("key")

tx := client.Multi()
defer tx.Close()

watch := tx.Watch("key")
_ = watch.Err()

for {
	cmds, err := incr(tx)
	if err == redis.TxFailedErr {
		continue
	} else if err != nil {
		panic(err)
	}
	fmt.Println(cmds, err)
	break
}
Output:

[SET key 1: OK] <nil>

func (*Multi) Append

func (c *Multi) Append(key, value string) *IntCmd

func (*Multi) Auth

func (c *Multi) Auth(password string) *StatusCmd

func (*Multi) BLPop

func (c *Multi) BLPop(timeout time.Duration, keys ...string) *StringSliceCmd

func (*Multi) BRPop

func (c *Multi) BRPop(timeout time.Duration, keys ...string) *StringSliceCmd

func (*Multi) BRPopLPush

func (c *Multi) BRPopLPush(source, destination string, timeout time.Duration) *StringCmd

func (*Multi) BgRewriteAOF

func (c *Multi) BgRewriteAOF() *StatusCmd

func (*Multi) BgSave

func (c *Multi) BgSave() *StatusCmd

func (*Multi) BitCount

func (c *Multi) BitCount(key string, bitCount *BitCount) *IntCmd

func (*Multi) BitOpAnd

func (c *Multi) BitOpAnd(destKey string, keys ...string) *IntCmd

func (*Multi) BitOpNot

func (c *Multi) BitOpNot(destKey string, key string) *IntCmd

func (*Multi) BitOpOr

func (c *Multi) BitOpOr(destKey string, keys ...string) *IntCmd

func (*Multi) BitOpXor

func (c *Multi) BitOpXor(destKey string, keys ...string) *IntCmd

func (*Multi) BitPos

func (c *Multi) BitPos(key string, bit int64, pos ...int64) *IntCmd

func (*Multi) ClientKill

func (c *Multi) ClientKill(ipPort string) *StatusCmd

func (*Multi) ClientList

func (c *Multi) ClientList() *StringCmd

func (*Multi) ClientPause

func (c *Multi) ClientPause(dur time.Duration) *BoolCmd

func (*Multi) Close

func (c *Multi) Close() error

func (*Multi) ClusterAddSlots

func (c *Multi) ClusterAddSlots(slots ...int) *StatusCmd

func (*Multi) ClusterAddSlotsRange

func (c *Multi) ClusterAddSlotsRange(min, max int) *StatusCmd

func (*Multi) ClusterFailover

func (c *Multi) ClusterFailover() *StatusCmd

func (*Multi) ClusterInfo

func (c *Multi) ClusterInfo() *StringCmd

func (*Multi) ClusterMeet

func (c *Multi) ClusterMeet(host, port string) *StatusCmd

func (*Multi) ClusterNodes

func (c *Multi) ClusterNodes() *StringCmd

func (*Multi) ClusterReplicate

func (c *Multi) ClusterReplicate(nodeID string) *StatusCmd

func (*Multi) ClusterSlots

func (c *Multi) ClusterSlots() *ClusterSlotCmd

func (*Multi) ConfigGet

func (c *Multi) ConfigGet(parameter string) *SliceCmd

func (*Multi) ConfigResetStat

func (c *Multi) ConfigResetStat() *StatusCmd

func (*Multi) ConfigSet

func (c *Multi) ConfigSet(parameter, value string) *StatusCmd

func (*Multi) DbSize

func (c *Multi) DbSize() *IntCmd

func (*Multi) DebugObject

func (c *Multi) DebugObject(key string) *StringCmd

func (*Multi) Decr

func (c *Multi) Decr(key string) *IntCmd

func (*Multi) DecrBy

func (c *Multi) DecrBy(key string, decrement int64) *IntCmd

func (*Multi) Del

func (c *Multi) Del(keys ...string) *IntCmd

func (*Multi) Discard

func (c *Multi) Discard() error

func (*Multi) Dump

func (c *Multi) Dump(key string) *StringCmd

func (*Multi) Echo

func (c *Multi) Echo(message string) *StringCmd

func (*Multi) Eval

func (c *Multi) Eval(script string, keys []string, args []string) *Cmd

func (*Multi) EvalSha

func (c *Multi) EvalSha(sha1 string, keys []string, args []string) *Cmd

func (*Multi) Exec

func (c *Multi) Exec(f func() error) ([]Cmder, error)

Exec always returns list of commands. If transaction fails TxFailedErr is returned. Otherwise Exec returns error of the first failed command or nil.

func (*Multi) Exists

func (c *Multi) Exists(key string) *BoolCmd

func (*Multi) Expire

func (c *Multi) Expire(key string, expiration time.Duration) *BoolCmd

func (*Multi) ExpireAt

func (c *Multi) ExpireAt(key string, tm time.Time) *BoolCmd

func (*Multi) FlushAll

func (c *Multi) FlushAll() *StatusCmd

func (*Multi) FlushDb

func (c *Multi) FlushDb() *StatusCmd

func (*Multi) Get

func (c *Multi) Get(key string) *StringCmd

func (*Multi) GetBit

func (c *Multi) GetBit(key string, offset int64) *IntCmd

func (*Multi) GetRange

func (c *Multi) GetRange(key string, start, end int64) *StringCmd

func (*Multi) GetSet

func (c *Multi) GetSet(key, value string) *StringCmd

func (*Multi) HDel

func (c *Multi) HDel(key string, fields ...string) *IntCmd

func (*Multi) HExists

func (c *Multi) HExists(key, field string) *BoolCmd

func (*Multi) HGet

func (c *Multi) HGet(key, field string) *StringCmd

func (*Multi) HGetAll

func (c *Multi) HGetAll(key string) *StringSliceCmd

func (*Multi) HGetAllMap

func (c *Multi) HGetAllMap(key string) *StringStringMapCmd

func (*Multi) HIncrBy

func (c *Multi) HIncrBy(key, field string, incr int64) *IntCmd

func (*Multi) HIncrByFloat

func (c *Multi) HIncrByFloat(key, field string, incr float64) *FloatCmd

func (*Multi) HKeys

func (c *Multi) HKeys(key string) *StringSliceCmd

func (*Multi) HLen

func (c *Multi) HLen(key string) *IntCmd

func (*Multi) HMGet

func (c *Multi) HMGet(key string, fields ...string) *SliceCmd

func (*Multi) HMSet

func (c *Multi) HMSet(key, field, value string, pairs ...string) *StatusCmd

func (*Multi) HScan

func (c *Multi) HScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*Multi) HSet

func (c *Multi) HSet(key, field, value string) *BoolCmd

func (*Multi) HSetNX

func (c *Multi) HSetNX(key, field, value string) *BoolCmd

func (*Multi) HVals

func (c *Multi) HVals(key string) *StringSliceCmd

func (*Multi) Incr

func (c *Multi) Incr(key string) *IntCmd

func (*Multi) IncrBy

func (c *Multi) IncrBy(key string, value int64) *IntCmd

func (*Multi) IncrByFloat

func (c *Multi) IncrByFloat(key string, value float64) *FloatCmd

func (*Multi) Info

func (c *Multi) Info() *StringCmd

func (*Multi) Keys

func (c *Multi) Keys(pattern string) *StringSliceCmd

func (*Multi) LIndex

func (c *Multi) LIndex(key string, index int64) *StringCmd

func (*Multi) LInsert

func (c *Multi) LInsert(key, op, pivot, value string) *IntCmd

func (*Multi) LLen

func (c *Multi) LLen(key string) *IntCmd

func (*Multi) LPop

func (c *Multi) LPop(key string) *StringCmd

func (*Multi) LPush

func (c *Multi) LPush(key string, values ...string) *IntCmd

func (*Multi) LPushX

func (c *Multi) LPushX(key, value string) *IntCmd

func (*Multi) LRange

func (c *Multi) LRange(key string, start, stop int64) *StringSliceCmd

func (*Multi) LRem

func (c *Multi) LRem(key string, count int64, value string) *IntCmd

func (*Multi) LSet

func (c *Multi) LSet(key string, index int64, value string) *StatusCmd

func (*Multi) LTrim

func (c *Multi) LTrim(key string, start, stop int64) *StatusCmd

func (*Multi) LastSave

func (c *Multi) LastSave() *IntCmd

func (*Multi) MGet

func (c *Multi) MGet(keys ...string) *SliceCmd

func (*Multi) MSet

func (c *Multi) MSet(pairs ...string) *StatusCmd

func (*Multi) MSetNX

func (c *Multi) MSetNX(pairs ...string) *BoolCmd

func (*Multi) Migrate

func (c *Multi) Migrate(host, port, key string, db int64, timeout time.Duration) *StatusCmd

func (*Multi) Move

func (c *Multi) Move(key string, db int64) *BoolCmd

func (*Multi) ObjectEncoding

func (c *Multi) ObjectEncoding(keys ...string) *StringCmd

func (*Multi) ObjectIdleTime

func (c *Multi) ObjectIdleTime(keys ...string) *DurationCmd

func (*Multi) ObjectRefCount

func (c *Multi) ObjectRefCount(keys ...string) *IntCmd

func (*Multi) PExpire

func (c *Multi) PExpire(key string, expiration time.Duration) *BoolCmd

func (*Multi) PExpireAt

func (c *Multi) PExpireAt(key string, tm time.Time) *BoolCmd

func (*Multi) PTTL

func (c *Multi) PTTL(key string) *DurationCmd

func (*Multi) Persist

func (c *Multi) Persist(key string) *BoolCmd

func (*Multi) Ping

func (c *Multi) Ping() *StatusCmd

func (*Multi) Process

func (c *Multi) Process(cmd Cmder)

func (*Multi) PubSubChannels

func (c *Multi) PubSubChannels(pattern string) *StringSliceCmd

func (*Multi) PubSubNumPat

func (c *Multi) PubSubNumPat() *IntCmd

func (*Multi) PubSubNumSub

func (c *Multi) PubSubNumSub(channels ...string) *StringIntMapCmd

func (*Multi) Quit

func (c *Multi) Quit() *StatusCmd

func (*Multi) RPop

func (c *Multi) RPop(key string) *StringCmd

func (*Multi) RPopLPush

func (c *Multi) RPopLPush(source, destination string) *StringCmd

func (*Multi) RPush

func (c *Multi) RPush(key string, values ...string) *IntCmd

func (*Multi) RPushX

func (c *Multi) RPushX(key string, value string) *IntCmd

func (*Multi) RandomKey

func (c *Multi) RandomKey() *StringCmd

func (*Multi) Rename

func (c *Multi) Rename(key, newkey string) *StatusCmd

func (*Multi) RenameNX

func (c *Multi) RenameNX(key, newkey string) *BoolCmd

func (*Multi) Restore

func (c *Multi) Restore(key string, ttl int64, value string) *StatusCmd

func (*Multi) SAdd

func (c *Multi) SAdd(key string, members ...string) *IntCmd

func (*Multi) SCard

func (c *Multi) SCard(key string) *IntCmd

func (*Multi) SDiff

func (c *Multi) SDiff(keys ...string) *StringSliceCmd

func (*Multi) SDiffStore

func (c *Multi) SDiffStore(destination string, keys ...string) *IntCmd

func (*Multi) SInter

func (c *Multi) SInter(keys ...string) *StringSliceCmd

func (*Multi) SInterStore

func (c *Multi) SInterStore(destination string, keys ...string) *IntCmd

func (*Multi) SIsMember

func (c *Multi) SIsMember(key, member string) *BoolCmd

func (*Multi) SMembers

func (c *Multi) SMembers(key string) *StringSliceCmd

func (*Multi) SMove

func (c *Multi) SMove(source, destination, member string) *BoolCmd

func (*Multi) SPop

func (c *Multi) SPop(key string) *StringCmd

func (*Multi) SRandMember

func (c *Multi) SRandMember(key string) *StringCmd

func (*Multi) SRem

func (c *Multi) SRem(key string, members ...string) *IntCmd

func (*Multi) SScan

func (c *Multi) SScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*Multi) SUnion

func (c *Multi) SUnion(keys ...string) *StringSliceCmd

func (*Multi) SUnionStore

func (c *Multi) SUnionStore(destination string, keys ...string) *IntCmd

func (*Multi) Save

func (c *Multi) Save() *StatusCmd

func (*Multi) Scan

func (c *Multi) Scan(cursor int64, match string, count int64) *ScanCmd

func (*Multi) ScriptExists

func (c *Multi) ScriptExists(scripts ...string) *BoolSliceCmd

func (*Multi) ScriptFlush

func (c *Multi) ScriptFlush() *StatusCmd

func (*Multi) ScriptKill

func (c *Multi) ScriptKill() *StatusCmd

func (*Multi) ScriptLoad

func (c *Multi) ScriptLoad(script string) *StringCmd

func (*Multi) Select

func (c *Multi) Select(index int64) *StatusCmd

func (*Multi) Set

func (c *Multi) Set(key, value string, expiration time.Duration) *StatusCmd

func (*Multi) SetBit

func (c *Multi) SetBit(key string, offset int64, value int) *IntCmd

func (*Multi) SetNX

func (c *Multi) SetNX(key, value string, expiration time.Duration) *BoolCmd

func (*Multi) SetRange

func (c *Multi) SetRange(key string, offset int64, value string) *IntCmd

func (*Multi) Shutdown

func (c *Multi) Shutdown() *StatusCmd

func (*Multi) ShutdownNoSave

func (c *Multi) ShutdownNoSave() *StatusCmd

func (*Multi) ShutdownSave

func (c *Multi) ShutdownSave() *StatusCmd

func (*Multi) SlaveOf

func (c *Multi) SlaveOf(host, port string) *StatusCmd

func (*Multi) SlowLog

func (c *Multi) SlowLog()

func (*Multi) Sort

func (c *Multi) Sort(key string, sort Sort) *StringSliceCmd

func (*Multi) StrLen

func (c *Multi) StrLen(key string) *IntCmd

func (*Multi) Sync

func (c *Multi) Sync()

func (*Multi) TTL

func (c *Multi) TTL(key string) *DurationCmd

func (*Multi) Time

func (c *Multi) Time() *StringSliceCmd

func (*Multi) Type

func (c *Multi) Type(key string) *StatusCmd

func (*Multi) Unwatch

func (c *Multi) Unwatch(keys ...string) *StatusCmd

func (*Multi) Watch

func (c *Multi) Watch(keys ...string) *StatusCmd

func (*Multi) ZAdd

func (c *Multi) ZAdd(key string, members ...Z) *IntCmd

func (*Multi) ZCard

func (c *Multi) ZCard(key string) *IntCmd

func (*Multi) ZCount

func (c *Multi) ZCount(key, min, max string) *IntCmd

func (*Multi) ZIncrBy

func (c *Multi) ZIncrBy(key string, increment float64, member string) *FloatCmd

func (*Multi) ZInterStore

func (c *Multi) ZInterStore(
	destination string,
	store ZStore,
	keys ...string,
) *IntCmd

func (*Multi) ZRange

func (c *Multi) ZRange(key string, start, stop int64) *StringSliceCmd

func (*Multi) ZRangeByScore

func (c *Multi) ZRangeByScore(key string, opt ZRangeByScore) *StringSliceCmd

func (*Multi) ZRangeByScoreWithScores

func (c *Multi) ZRangeByScoreWithScores(key string, opt ZRangeByScore) *ZSliceCmd

func (*Multi) ZRangeWithScores

func (c *Multi) ZRangeWithScores(key string, start, stop int64) *ZSliceCmd

func (*Multi) ZRank

func (c *Multi) ZRank(key, member string) *IntCmd

func (*Multi) ZRem

func (c *Multi) ZRem(key string, members ...string) *IntCmd

func (*Multi) ZRemRangeByRank

func (c *Multi) ZRemRangeByRank(key string, start, stop int64) *IntCmd

func (*Multi) ZRemRangeByScore

func (c *Multi) ZRemRangeByScore(key, min, max string) *IntCmd

func (*Multi) ZRevRange

func (c *Multi) ZRevRange(key string, start, stop int64) *StringSliceCmd

func (*Multi) ZRevRangeByScore

func (c *Multi) ZRevRangeByScore(key string, opt ZRangeByScore) *StringSliceCmd

func (*Multi) ZRevRangeByScoreWithScores

func (c *Multi) ZRevRangeByScoreWithScores(key string, opt ZRangeByScore) *ZSliceCmd

func (*Multi) ZRevRangeWithScores

func (c *Multi) ZRevRangeWithScores(key string, start, stop int64) *ZSliceCmd

func (*Multi) ZRevRank

func (c *Multi) ZRevRank(key, member string) *IntCmd

func (*Multi) ZScan

func (c *Multi) ZScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*Multi) ZScore

func (c *Multi) ZScore(key, member string) *FloatCmd

func (*Multi) ZUnionStore

func (c *Multi) ZUnionStore(dest string, store ZStore, keys ...string) *IntCmd

type Options

type Options struct {
	// The network type, either tcp or unix.
	// Default is tcp.
	Network string
	// host:port address.
	Addr string

	// Dialer creates new network connection and has priority over
	// Network and Addr options.
	Dialer func() (net.Conn, error)

	// An optional password. Must match the password specified in the
	// requirepass server configuration option.
	Password string
	// A database to be selected after connecting to server.
	DB int64

	// The maximum number of retries before giving up.
	// Default is to not retry failed commands.
	MaxRetries int

	// Sets the deadline for establishing new connections. If reached,
	// dial will fail with a timeout.
	DialTimeout time.Duration
	// Sets the deadline for socket reads. If reached, commands will
	// fail with a timeout instead of blocking.
	ReadTimeout time.Duration
	// Sets the deadline for socket writes. If reached, commands will
	// fail with a timeout instead of blocking.
	WriteTimeout time.Duration

	// The maximum number of socket connections.
	// Default is 10 connections.
	PoolSize int
	// Specifies amount of time client waits for connection if all
	// connections are busy before returning an error.
	// Default is 5 seconds.
	PoolTimeout time.Duration
	// Specifies amount of time after which client closes idle
	// connections. Should be less than server's timeout.
	// Default is to not close idle connections.
	IdleTimeout time.Duration
}

type PMessage

type PMessage struct {
	Channel string
	Pattern string
	Payload string
}

Message matching a pattern-matching subscription received as result of a PUBLISH command issued by another client.

func (*PMessage) String

func (m *PMessage) String() string

type Pipeline

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

Not thread-safe.

Example
pipeline := client.Pipeline()
set := pipeline.Set("key1", "hello1", 0)
get := pipeline.Get("key1")
cmds, err := pipeline.Exec()
fmt.Println(cmds, err)
fmt.Println(set)
fmt.Println(get)
Output:

[SET key1 hello1: OK GET key1: hello1] <nil>
SET key1 hello1: OK
GET key1: hello1

func (*Pipeline) Append

func (c *Pipeline) Append(key, value string) *IntCmd

func (*Pipeline) Auth

func (c *Pipeline) Auth(password string) *StatusCmd

func (*Pipeline) BLPop

func (c *Pipeline) BLPop(timeout time.Duration, keys ...string) *StringSliceCmd

func (*Pipeline) BRPop

func (c *Pipeline) BRPop(timeout time.Duration, keys ...string) *StringSliceCmd

func (*Pipeline) BRPopLPush

func (c *Pipeline) BRPopLPush(source, destination string, timeout time.Duration) *StringCmd

func (*Pipeline) BgRewriteAOF

func (c *Pipeline) BgRewriteAOF() *StatusCmd

func (*Pipeline) BgSave

func (c *Pipeline) BgSave() *StatusCmd

func (*Pipeline) BitCount

func (c *Pipeline) BitCount(key string, bitCount *BitCount) *IntCmd

func (*Pipeline) BitOpAnd

func (c *Pipeline) BitOpAnd(destKey string, keys ...string) *IntCmd

func (*Pipeline) BitOpNot

func (c *Pipeline) BitOpNot(destKey string, key string) *IntCmd

func (*Pipeline) BitOpOr

func (c *Pipeline) BitOpOr(destKey string, keys ...string) *IntCmd

func (*Pipeline) BitOpXor

func (c *Pipeline) BitOpXor(destKey string, keys ...string) *IntCmd

func (*Pipeline) BitPos

func (c *Pipeline) BitPos(key string, bit int64, pos ...int64) *IntCmd

func (*Pipeline) ClientKill

func (c *Pipeline) ClientKill(ipPort string) *StatusCmd

func (*Pipeline) ClientList

func (c *Pipeline) ClientList() *StringCmd

func (*Pipeline) ClientPause

func (c *Pipeline) ClientPause(dur time.Duration) *BoolCmd

func (*Pipeline) Close

func (c *Pipeline) Close() error

func (*Pipeline) ClusterAddSlots

func (c *Pipeline) ClusterAddSlots(slots ...int) *StatusCmd

func (*Pipeline) ClusterAddSlotsRange

func (c *Pipeline) ClusterAddSlotsRange(min, max int) *StatusCmd

func (*Pipeline) ClusterFailover

func (c *Pipeline) ClusterFailover() *StatusCmd

func (*Pipeline) ClusterInfo

func (c *Pipeline) ClusterInfo() *StringCmd

func (*Pipeline) ClusterMeet

func (c *Pipeline) ClusterMeet(host, port string) *StatusCmd

func (*Pipeline) ClusterNodes

func (c *Pipeline) ClusterNodes() *StringCmd

func (*Pipeline) ClusterReplicate

func (c *Pipeline) ClusterReplicate(nodeID string) *StatusCmd

func (*Pipeline) ClusterSlots

func (c *Pipeline) ClusterSlots() *ClusterSlotCmd

func (*Pipeline) ConfigGet

func (c *Pipeline) ConfigGet(parameter string) *SliceCmd

func (*Pipeline) ConfigResetStat

func (c *Pipeline) ConfigResetStat() *StatusCmd

func (*Pipeline) ConfigSet

func (c *Pipeline) ConfigSet(parameter, value string) *StatusCmd

func (*Pipeline) DbSize

func (c *Pipeline) DbSize() *IntCmd

func (*Pipeline) DebugObject

func (c *Pipeline) DebugObject(key string) *StringCmd

func (*Pipeline) Decr

func (c *Pipeline) Decr(key string) *IntCmd

func (*Pipeline) DecrBy

func (c *Pipeline) DecrBy(key string, decrement int64) *IntCmd

func (*Pipeline) Del

func (c *Pipeline) Del(keys ...string) *IntCmd

func (*Pipeline) Discard

func (c *Pipeline) Discard() error

func (*Pipeline) Dump

func (c *Pipeline) Dump(key string) *StringCmd

func (*Pipeline) Echo

func (c *Pipeline) Echo(message string) *StringCmd

func (*Pipeline) Eval

func (c *Pipeline) Eval(script string, keys []string, args []string) *Cmd

func (*Pipeline) EvalSha

func (c *Pipeline) EvalSha(sha1 string, keys []string, args []string) *Cmd

func (*Pipeline) Exec

func (c *Pipeline) Exec() (cmds []Cmder, retErr error)

Exec always returns list of commands and error of the first failed command if any.

func (*Pipeline) Exists

func (c *Pipeline) Exists(key string) *BoolCmd

func (*Pipeline) Expire

func (c *Pipeline) Expire(key string, expiration time.Duration) *BoolCmd

func (*Pipeline) ExpireAt

func (c *Pipeline) ExpireAt(key string, tm time.Time) *BoolCmd

func (*Pipeline) FlushAll

func (c *Pipeline) FlushAll() *StatusCmd

func (*Pipeline) FlushDb

func (c *Pipeline) FlushDb() *StatusCmd

func (*Pipeline) Get

func (c *Pipeline) Get(key string) *StringCmd

func (*Pipeline) GetBit

func (c *Pipeline) GetBit(key string, offset int64) *IntCmd

func (*Pipeline) GetRange

func (c *Pipeline) GetRange(key string, start, end int64) *StringCmd

func (*Pipeline) GetSet

func (c *Pipeline) GetSet(key, value string) *StringCmd

func (*Pipeline) HDel

func (c *Pipeline) HDel(key string, fields ...string) *IntCmd

func (*Pipeline) HExists

func (c *Pipeline) HExists(key, field string) *BoolCmd

func (*Pipeline) HGet

func (c *Pipeline) HGet(key, field string) *StringCmd

func (*Pipeline) HGetAll

func (c *Pipeline) HGetAll(key string) *StringSliceCmd

func (*Pipeline) HGetAllMap

func (c *Pipeline) HGetAllMap(key string) *StringStringMapCmd

func (*Pipeline) HIncrBy

func (c *Pipeline) HIncrBy(key, field string, incr int64) *IntCmd

func (*Pipeline) HIncrByFloat

func (c *Pipeline) HIncrByFloat(key, field string, incr float64) *FloatCmd

func (*Pipeline) HKeys

func (c *Pipeline) HKeys(key string) *StringSliceCmd

func (*Pipeline) HLen

func (c *Pipeline) HLen(key string) *IntCmd

func (*Pipeline) HMGet

func (c *Pipeline) HMGet(key string, fields ...string) *SliceCmd

func (*Pipeline) HMSet

func (c *Pipeline) HMSet(key, field, value string, pairs ...string) *StatusCmd

func (*Pipeline) HScan

func (c *Pipeline) HScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*Pipeline) HSet

func (c *Pipeline) HSet(key, field, value string) *BoolCmd

func (*Pipeline) HSetNX

func (c *Pipeline) HSetNX(key, field, value string) *BoolCmd

func (*Pipeline) HVals

func (c *Pipeline) HVals(key string) *StringSliceCmd

func (*Pipeline) Incr

func (c *Pipeline) Incr(key string) *IntCmd

func (*Pipeline) IncrBy

func (c *Pipeline) IncrBy(key string, value int64) *IntCmd

func (*Pipeline) IncrByFloat

func (c *Pipeline) IncrByFloat(key string, value float64) *FloatCmd

func (*Pipeline) Info

func (c *Pipeline) Info() *StringCmd

func (*Pipeline) Keys

func (c *Pipeline) Keys(pattern string) *StringSliceCmd

func (*Pipeline) LIndex

func (c *Pipeline) LIndex(key string, index int64) *StringCmd

func (*Pipeline) LInsert

func (c *Pipeline) LInsert(key, op, pivot, value string) *IntCmd

func (*Pipeline) LLen

func (c *Pipeline) LLen(key string) *IntCmd

func (*Pipeline) LPop

func (c *Pipeline) LPop(key string) *StringCmd

func (*Pipeline) LPush

func (c *Pipeline) LPush(key string, values ...string) *IntCmd

func (*Pipeline) LPushX

func (c *Pipeline) LPushX(key, value string) *IntCmd

func (*Pipeline) LRange

func (c *Pipeline) LRange(key string, start, stop int64) *StringSliceCmd

func (*Pipeline) LRem

func (c *Pipeline) LRem(key string, count int64, value string) *IntCmd

func (*Pipeline) LSet

func (c *Pipeline) LSet(key string, index int64, value string) *StatusCmd

func (*Pipeline) LTrim

func (c *Pipeline) LTrim(key string, start, stop int64) *StatusCmd

func (*Pipeline) LastSave

func (c *Pipeline) LastSave() *IntCmd

func (*Pipeline) MGet

func (c *Pipeline) MGet(keys ...string) *SliceCmd

func (*Pipeline) MSet

func (c *Pipeline) MSet(pairs ...string) *StatusCmd

func (*Pipeline) MSetNX

func (c *Pipeline) MSetNX(pairs ...string) *BoolCmd

func (*Pipeline) Migrate

func (c *Pipeline) Migrate(host, port, key string, db int64, timeout time.Duration) *StatusCmd

func (*Pipeline) Move

func (c *Pipeline) Move(key string, db int64) *BoolCmd

func (*Pipeline) ObjectEncoding

func (c *Pipeline) ObjectEncoding(keys ...string) *StringCmd

func (*Pipeline) ObjectIdleTime

func (c *Pipeline) ObjectIdleTime(keys ...string) *DurationCmd

func (*Pipeline) ObjectRefCount

func (c *Pipeline) ObjectRefCount(keys ...string) *IntCmd

func (*Pipeline) PExpire

func (c *Pipeline) PExpire(key string, expiration time.Duration) *BoolCmd

func (*Pipeline) PExpireAt

func (c *Pipeline) PExpireAt(key string, tm time.Time) *BoolCmd

func (*Pipeline) PTTL

func (c *Pipeline) PTTL(key string) *DurationCmd

func (*Pipeline) Persist

func (c *Pipeline) Persist(key string) *BoolCmd

func (*Pipeline) Ping

func (c *Pipeline) Ping() *StatusCmd

func (*Pipeline) Process

func (c *Pipeline) Process(cmd Cmder)

func (*Pipeline) PubSubChannels

func (c *Pipeline) PubSubChannels(pattern string) *StringSliceCmd

func (*Pipeline) PubSubNumPat

func (c *Pipeline) PubSubNumPat() *IntCmd

func (*Pipeline) PubSubNumSub

func (c *Pipeline) PubSubNumSub(channels ...string) *StringIntMapCmd

func (*Pipeline) Quit

func (c *Pipeline) Quit() *StatusCmd

func (*Pipeline) RPop

func (c *Pipeline) RPop(key string) *StringCmd

func (*Pipeline) RPopLPush

func (c *Pipeline) RPopLPush(source, destination string) *StringCmd

func (*Pipeline) RPush

func (c *Pipeline) RPush(key string, values ...string) *IntCmd

func (*Pipeline) RPushX

func (c *Pipeline) RPushX(key string, value string) *IntCmd

func (*Pipeline) RandomKey

func (c *Pipeline) RandomKey() *StringCmd

func (*Pipeline) Rename

func (c *Pipeline) Rename(key, newkey string) *StatusCmd

func (*Pipeline) RenameNX

func (c *Pipeline) RenameNX(key, newkey string) *BoolCmd

func (*Pipeline) Restore

func (c *Pipeline) Restore(key string, ttl int64, value string) *StatusCmd

func (*Pipeline) SAdd

func (c *Pipeline) SAdd(key string, members ...string) *IntCmd

func (*Pipeline) SCard

func (c *Pipeline) SCard(key string) *IntCmd

func (*Pipeline) SDiff

func (c *Pipeline) SDiff(keys ...string) *StringSliceCmd

func (*Pipeline) SDiffStore

func (c *Pipeline) SDiffStore(destination string, keys ...string) *IntCmd

func (*Pipeline) SInter

func (c *Pipeline) SInter(keys ...string) *StringSliceCmd

func (*Pipeline) SInterStore

func (c *Pipeline) SInterStore(destination string, keys ...string) *IntCmd

func (*Pipeline) SIsMember

func (c *Pipeline) SIsMember(key, member string) *BoolCmd

func (*Pipeline) SMembers

func (c *Pipeline) SMembers(key string) *StringSliceCmd

func (*Pipeline) SMove

func (c *Pipeline) SMove(source, destination, member string) *BoolCmd

func (*Pipeline) SPop

func (c *Pipeline) SPop(key string) *StringCmd

func (*Pipeline) SRandMember

func (c *Pipeline) SRandMember(key string) *StringCmd

func (*Pipeline) SRem

func (c *Pipeline) SRem(key string, members ...string) *IntCmd

func (*Pipeline) SScan

func (c *Pipeline) SScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*Pipeline) SUnion

func (c *Pipeline) SUnion(keys ...string) *StringSliceCmd

func (*Pipeline) SUnionStore

func (c *Pipeline) SUnionStore(destination string, keys ...string) *IntCmd

func (*Pipeline) Save

func (c *Pipeline) Save() *StatusCmd

func (*Pipeline) Scan

func (c *Pipeline) Scan(cursor int64, match string, count int64) *ScanCmd

func (*Pipeline) ScriptExists

func (c *Pipeline) ScriptExists(scripts ...string) *BoolSliceCmd

func (*Pipeline) ScriptFlush

func (c *Pipeline) ScriptFlush() *StatusCmd

func (*Pipeline) ScriptKill

func (c *Pipeline) ScriptKill() *StatusCmd

func (*Pipeline) ScriptLoad

func (c *Pipeline) ScriptLoad(script string) *StringCmd

func (*Pipeline) Select

func (c *Pipeline) Select(index int64) *StatusCmd

func (*Pipeline) Set

func (c *Pipeline) Set(key, value string, expiration time.Duration) *StatusCmd

func (*Pipeline) SetBit

func (c *Pipeline) SetBit(key string, offset int64, value int) *IntCmd

func (*Pipeline) SetNX

func (c *Pipeline) SetNX(key, value string, expiration time.Duration) *BoolCmd

func (*Pipeline) SetRange

func (c *Pipeline) SetRange(key string, offset int64, value string) *IntCmd

func (*Pipeline) Shutdown

func (c *Pipeline) Shutdown() *StatusCmd

func (*Pipeline) ShutdownNoSave

func (c *Pipeline) ShutdownNoSave() *StatusCmd

func (*Pipeline) ShutdownSave

func (c *Pipeline) ShutdownSave() *StatusCmd

func (*Pipeline) SlaveOf

func (c *Pipeline) SlaveOf(host, port string) *StatusCmd

func (*Pipeline) SlowLog

func (c *Pipeline) SlowLog()

func (*Pipeline) Sort

func (c *Pipeline) Sort(key string, sort Sort) *StringSliceCmd

func (*Pipeline) StrLen

func (c *Pipeline) StrLen(key string) *IntCmd

func (*Pipeline) Sync

func (c *Pipeline) Sync()

func (*Pipeline) TTL

func (c *Pipeline) TTL(key string) *DurationCmd

func (*Pipeline) Time

func (c *Pipeline) Time() *StringSliceCmd

func (*Pipeline) Type

func (c *Pipeline) Type(key string) *StatusCmd

func (*Pipeline) ZAdd

func (c *Pipeline) ZAdd(key string, members ...Z) *IntCmd

func (*Pipeline) ZCard

func (c *Pipeline) ZCard(key string) *IntCmd

func (*Pipeline) ZCount

func (c *Pipeline) ZCount(key, min, max string) *IntCmd

func (*Pipeline) ZIncrBy

func (c *Pipeline) ZIncrBy(key string, increment float64, member string) *FloatCmd

func (*Pipeline) ZInterStore

func (c *Pipeline) ZInterStore(
	destination string,
	store ZStore,
	keys ...string,
) *IntCmd

func (*Pipeline) ZRange

func (c *Pipeline) ZRange(key string, start, stop int64) *StringSliceCmd

func (*Pipeline) ZRangeByScore

func (c *Pipeline) ZRangeByScore(key string, opt ZRangeByScore) *StringSliceCmd

func (*Pipeline) ZRangeByScoreWithScores

func (c *Pipeline) ZRangeByScoreWithScores(key string, opt ZRangeByScore) *ZSliceCmd

func (*Pipeline) ZRangeWithScores

func (c *Pipeline) ZRangeWithScores(key string, start, stop int64) *ZSliceCmd

func (*Pipeline) ZRank

func (c *Pipeline) ZRank(key, member string) *IntCmd

func (*Pipeline) ZRem

func (c *Pipeline) ZRem(key string, members ...string) *IntCmd

func (*Pipeline) ZRemRangeByRank

func (c *Pipeline) ZRemRangeByRank(key string, start, stop int64) *IntCmd

func (*Pipeline) ZRemRangeByScore

func (c *Pipeline) ZRemRangeByScore(key, min, max string) *IntCmd

func (*Pipeline) ZRevRange

func (c *Pipeline) ZRevRange(key string, start, stop int64) *StringSliceCmd

func (*Pipeline) ZRevRangeByScore

func (c *Pipeline) ZRevRangeByScore(key string, opt ZRangeByScore) *StringSliceCmd

func (*Pipeline) ZRevRangeByScoreWithScores

func (c *Pipeline) ZRevRangeByScoreWithScores(key string, opt ZRangeByScore) *ZSliceCmd

func (*Pipeline) ZRevRangeWithScores

func (c *Pipeline) ZRevRangeWithScores(key string, start, stop int64) *ZSliceCmd

func (*Pipeline) ZRevRank

func (c *Pipeline) ZRevRank(key, member string) *IntCmd

func (*Pipeline) ZScan

func (c *Pipeline) ZScan(key string, cursor int64, match string, count int64) *ScanCmd

func (*Pipeline) ZScore

func (c *Pipeline) ZScore(key, member string) *FloatCmd

func (*Pipeline) ZUnionStore

func (c *Pipeline) ZUnionStore(dest string, store ZStore, keys ...string) *IntCmd

type PubSub

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

PubSub implements Pub/Sub commands as described in http://redis.io/topics/pubsub.

Example
pubsub := client.PubSub()
defer pubsub.Close()

err := pubsub.Subscribe("mychannel")
if err != nil {
	panic(err)
}

err = client.Publish("mychannel", "hello").Err()
if err != nil {
	panic(err)
}

for {
	msgi, err := pubsub.ReceiveTimeout(100 * time.Millisecond)
	if err != nil {
		if neterr, ok := err.(net.Error); ok && neterr.Timeout() {
			// There are no more messages to process. Stop.
			break
		}
		panic(err)
	}

	switch msg := msgi.(type) {
	case *redis.Subscription:
		fmt.Println(msg.Kind, msg.Channel)
	case *redis.Message:
		fmt.Println(msg.Channel, msg.Payload)
	default:
		panic(fmt.Sprintf("unknown message: %#v", msgi))
	}
}
Output:

subscribe mychannel
mychannel hello

func (PubSub) Close

func (c PubSub) Close() error

Close closes the client, releasing any open resources.

func (*PubSub) PSubscribe

func (c *PubSub) PSubscribe(patterns ...string) error

func (*PubSub) PUnsubscribe

func (c *PubSub) PUnsubscribe(patterns ...string) error

func (*PubSub) Receive

func (c *PubSub) Receive() (interface{}, error)

func (*PubSub) ReceiveTimeout

func (c *PubSub) ReceiveTimeout(timeout time.Duration) (interface{}, error)

func (PubSub) String

func (c PubSub) String() string

func (*PubSub) Subscribe

func (c *PubSub) Subscribe(channels ...string) error

func (*PubSub) Unsubscribe

func (c *PubSub) Unsubscribe(channels ...string) error

type ScanCmd

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

func NewScanCmd

func NewScanCmd(args ...string) *ScanCmd

func (*ScanCmd) Err

func (cmd *ScanCmd) Err() error

func (*ScanCmd) Result

func (cmd *ScanCmd) Result() (int64, []string, error)

func (*ScanCmd) String

func (cmd *ScanCmd) String() string

func (*ScanCmd) Val

func (cmd *ScanCmd) Val() (int64, []string)

type Script

type Script struct {
	// contains filtered or unexported fields
}
Example
setnx := redis.NewScript(`
        if redis.call("get", KEYS[1]) == false then
            redis.call("set", KEYS[1], ARGV[1])
            return 1
        end
        return 0
    `)

v1, err := setnx.Run(client, []string{"keynx"}, []string{"foo"}).Result()
fmt.Println(v1.(int64), err)

v2, err := setnx.Run(client, []string{"keynx"}, []string{"bar"}).Result()
fmt.Println(v2.(int64), err)

get := client.Get("keynx")
fmt.Println(get)
Output:

1 <nil>
0 <nil>
GET keynx: foo

func NewScript

func NewScript(src string) *Script

func (*Script) Eval

func (s *Script) Eval(c scripter, keys []string, args []string) *Cmd

func (*Script) EvalSha

func (s *Script) EvalSha(c scripter, keys []string, args []string) *Cmd

func (*Script) Exists

func (s *Script) Exists(c scripter) *BoolSliceCmd

func (*Script) Load

func (s *Script) Load(c scripter) *StringCmd

func (*Script) Run

func (s *Script) Run(c *Client, keys []string, args []string) *Cmd

type SliceCmd

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

func NewSliceCmd

func NewSliceCmd(args ...string) *SliceCmd

func (*SliceCmd) Err

func (cmd *SliceCmd) Err() error

func (*SliceCmd) Result

func (cmd *SliceCmd) Result() ([]interface{}, error)

func (*SliceCmd) String

func (cmd *SliceCmd) String() string

func (*SliceCmd) Val

func (cmd *SliceCmd) Val() []interface{}

type Sort

type Sort struct {
	By            string
	Offset, Count float64
	Get           []string
	Order         string
	IsAlpha       bool
	Store         string
}

type StatusCmd

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

func NewStatusCmd

func NewStatusCmd(args ...string) *StatusCmd

func (*StatusCmd) Err

func (cmd *StatusCmd) Err() error

func (*StatusCmd) Result

func (cmd *StatusCmd) Result() (string, error)

func (*StatusCmd) String

func (cmd *StatusCmd) String() string

func (*StatusCmd) Val

func (cmd *StatusCmd) Val() string

type StringCmd

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

func NewStringCmd

func NewStringCmd(args ...string) *StringCmd

func (*StringCmd) Err

func (cmd *StringCmd) Err() error

func (*StringCmd) Float64

func (cmd *StringCmd) Float64() (float64, error)

func (*StringCmd) Int64

func (cmd *StringCmd) Int64() (int64, error)

func (*StringCmd) Result

func (cmd *StringCmd) Result() (string, error)

func (*StringCmd) String

func (cmd *StringCmd) String() string

func (*StringCmd) Uint64

func (cmd *StringCmd) Uint64() (uint64, error)

func (*StringCmd) Val

func (cmd *StringCmd) Val() string

type StringIntMapCmd

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

func NewStringIntMapCmd

func NewStringIntMapCmd(args ...string) *StringIntMapCmd

func (*StringIntMapCmd) Err

func (cmd *StringIntMapCmd) Err() error

func (*StringIntMapCmd) Result

func (cmd *StringIntMapCmd) Result() (map[string]int64, error)

func (*StringIntMapCmd) String

func (cmd *StringIntMapCmd) String() string

func (*StringIntMapCmd) Val

func (cmd *StringIntMapCmd) Val() map[string]int64

type StringSliceCmd

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

func NewStringSliceCmd

func NewStringSliceCmd(args ...string) *StringSliceCmd

func (*StringSliceCmd) Err

func (cmd *StringSliceCmd) Err() error

func (*StringSliceCmd) Result

func (cmd *StringSliceCmd) Result() ([]string, error)

func (*StringSliceCmd) String

func (cmd *StringSliceCmd) String() string

func (*StringSliceCmd) Val

func (cmd *StringSliceCmd) Val() []string

type StringStringMapCmd

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

func NewStringStringMapCmd

func NewStringStringMapCmd(args ...string) *StringStringMapCmd

func (*StringStringMapCmd) Err

func (cmd *StringStringMapCmd) Err() error

func (*StringStringMapCmd) Result

func (cmd *StringStringMapCmd) Result() (map[string]string, error)

func (*StringStringMapCmd) String

func (cmd *StringStringMapCmd) String() string

func (*StringStringMapCmd) Val

func (cmd *StringStringMapCmd) Val() map[string]string

type Subscription

type Subscription struct {
	// Can be "subscribe", "unsubscribe", "psubscribe" or "punsubscribe".
	Kind string
	// Channel name we have subscribed to.
	Channel string
	// Number of channels we are currently subscribed to.
	Count int
}

Message received after a successful subscription to channel.

func (*Subscription) String

func (m *Subscription) String() string

type Z

type Z struct {
	Score  float64
	Member string
}

type ZRangeByScore

type ZRangeByScore struct {
	Min, Max      string
	Offset, Count int64
}

type ZSliceCmd

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

func NewZSliceCmd

func NewZSliceCmd(args ...string) *ZSliceCmd

func (*ZSliceCmd) Err

func (cmd *ZSliceCmd) Err() error

func (*ZSliceCmd) Result

func (cmd *ZSliceCmd) Result() ([]Z, error)

func (*ZSliceCmd) String

func (cmd *ZSliceCmd) String() string

func (*ZSliceCmd) Val

func (cmd *ZSliceCmd) Val() []Z

type ZStore

type ZStore struct {
	Weights   []int64
	Aggregate string
}

Jump to

Keyboard shortcuts

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