package redis
import "github.com/go-redis/redis"
Package redis implements a Redis client.
Code:
Get := func(ctx context.Context, rdb *redis.Client, key string) *redis.StringCmd {
cmd := redis.NewStringCmd(ctx, "get", key)
rdb.Process(ctx, cmd)
return cmd
}
v, err := Get(ctx, rdb, "key_does_not_exist").Result()
fmt.Printf("%q %s", v, err)
Output:
"" redis: nil
Code:
v, err := rdb.Do(ctx, "get", "key_does_not_exist").Text()
fmt.Printf("%q %s", v, err)
Output:
"" redis: nil
Code:
rdb := redis.NewClient(&redis.Options{
Addr: ":6379",
})
rdb.AddHook(redisHook{})
rdb.Ping(ctx)
Output:
starting processing: <ping: >
finished processing: <ping: PONG>
- Constants
- Variables
- func SetLogger(logger internal.Logging)
- type BitCount
- type BoolCmd
- type BoolSliceCmd
- type Client
- func NewClient(opt *Options) *Client
- func NewFailoverClient(failoverOpt *FailoverOptions) *Client
- func (hs *Client) AddHook(hook Hook)
- func (c Client) Append(ctx context.Context, key, value string) *IntCmd
- func (c Client) BLPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
- func (c Client) BRPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
- func (c Client) BRPopLPush(ctx context.Context, source, destination string, timeout time.Duration) *StringCmd
- func (c Client) BZPopMax(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
- func (c Client) BZPopMin(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
- func (c Client) BgRewriteAOF(ctx context.Context) *StatusCmd
- func (c Client) BgSave(ctx context.Context) *StatusCmd
- func (c Client) BitCount(ctx context.Context, key string, bitCount *BitCount) *IntCmd
- func (c Client) BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
- func (c Client) BitOpAnd(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Client) BitOpNot(ctx context.Context, destKey string, key string) *IntCmd
- func (c Client) BitOpOr(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Client) BitOpXor(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Client) BitPos(ctx context.Context, key string, bit int64, pos ...int64) *IntCmd
- func (c Client) ClientGetName(ctx context.Context) *StringCmd
- func (c Client) ClientID(ctx context.Context) *IntCmd
- func (c Client) ClientKill(ctx context.Context, ipPort string) *StatusCmd
- func (c Client) ClientKillByFilter(ctx context.Context, keys ...string) *IntCmd
- func (c Client) ClientList(ctx context.Context) *StringCmd
- func (c Client) ClientPause(ctx context.Context, dur time.Duration) *BoolCmd
- func (c Client) ClientUnblock(ctx context.Context, id int64) *IntCmd
- func (c Client) ClientUnblockWithError(ctx context.Context, id int64) *IntCmd
- func (c Client) Close() error
- func (c Client) ClusterAddSlots(ctx context.Context, slots ...int) *StatusCmd
- func (c Client) ClusterAddSlotsRange(ctx context.Context, min, max int) *StatusCmd
- func (c Client) ClusterCountFailureReports(ctx context.Context, nodeID string) *IntCmd
- func (c Client) ClusterCountKeysInSlot(ctx context.Context, slot int) *IntCmd
- func (c Client) ClusterDelSlots(ctx context.Context, slots ...int) *StatusCmd
- func (c Client) ClusterDelSlotsRange(ctx context.Context, min, max int) *StatusCmd
- func (c Client) ClusterFailover(ctx context.Context) *StatusCmd
- func (c Client) ClusterForget(ctx context.Context, nodeID string) *StatusCmd
- func (c Client) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
- func (c Client) ClusterInfo(ctx context.Context) *StringCmd
- func (c Client) ClusterKeySlot(ctx context.Context, key string) *IntCmd
- func (c Client) ClusterMeet(ctx context.Context, host, port string) *StatusCmd
- func (c Client) ClusterNodes(ctx context.Context) *StringCmd
- func (c Client) ClusterReplicate(ctx context.Context, nodeID string) *StatusCmd
- func (c Client) ClusterResetHard(ctx context.Context) *StatusCmd
- func (c Client) ClusterResetSoft(ctx context.Context) *StatusCmd
- func (c Client) ClusterSaveConfig(ctx context.Context) *StatusCmd
- func (c Client) ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
- func (c Client) ClusterSlots(ctx context.Context) *ClusterSlotsCmd
- func (c Client) Command(ctx context.Context) *CommandsInfoCmd
- func (c Client) ConfigGet(ctx context.Context, parameter string) *SliceCmd
- func (c Client) ConfigResetStat(ctx context.Context) *StatusCmd
- func (c Client) ConfigRewrite(ctx context.Context) *StatusCmd
- func (c Client) ConfigSet(ctx context.Context, parameter, value string) *StatusCmd
- func (c *Client) Conn(ctx context.Context) *Conn
- func (c *Client) Context() context.Context
- func (c Client) DBSize(ctx context.Context) *IntCmd
- func (c Client) DebugObject(ctx context.Context, key string) *StringCmd
- func (c Client) Decr(ctx context.Context, key string) *IntCmd
- func (c Client) DecrBy(ctx context.Context, key string, decrement int64) *IntCmd
- func (c Client) Del(ctx context.Context, keys ...string) *IntCmd
- func (c *Client) Do(ctx context.Context, args ...interface{}) *Cmd
- func (c Client) Dump(ctx context.Context, key string) *StringCmd
- func (c Client) Echo(ctx context.Context, message interface{}) *StringCmd
- func (c Client) Eval(ctx context.Context, script string, keys []string, args ...interface{}) *Cmd
- func (c Client) EvalSha(ctx context.Context, sha1 string, keys []string, args ...interface{}) *Cmd
- func (c Client) Exists(ctx context.Context, keys ...string) *IntCmd
- func (c Client) Expire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Client) ExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
- func (c Client) FlushAll(ctx context.Context) *StatusCmd
- func (c Client) FlushAllAsync(ctx context.Context) *StatusCmd
- func (c Client) FlushDB(ctx context.Context) *StatusCmd
- func (c Client) FlushDBAsync(ctx context.Context) *StatusCmd
- func (c Client) GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
- func (c Client) GeoDist(
ctx context.Context, key string, member1, member2, unit string,
) *FloatCmd
- func (c Client) GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
- func (c Client) GeoPos(ctx context.Context, key string, members ...string) *GeoPosCmd
- func (c Client) GeoRadius(
ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery,
) *GeoLocationCmd
- func (c Client) GeoRadiusByMember(
ctx context.Context, key, member string, query *GeoRadiusQuery,
) *GeoLocationCmd
- func (c Client) GeoRadiusByMemberStore(
ctx context.Context, key, member string, query *GeoRadiusQuery,
) *IntCmd
- func (c Client) GeoRadiusStore(
ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery,
) *IntCmd
- func (c Client) Get(ctx context.Context, key string) *StringCmd
- func (c Client) GetBit(ctx context.Context, key string, offset int64) *IntCmd
- func (c Client) GetRange(ctx context.Context, key string, start, end int64) *StringCmd
- func (c Client) GetSet(ctx context.Context, key string, value interface{}) *StringCmd
- func (c Client) HDel(ctx context.Context, key string, fields ...string) *IntCmd
- func (c Client) HExists(ctx context.Context, key, field string) *BoolCmd
- func (c Client) HGet(ctx context.Context, key, field string) *StringCmd
- func (c Client) HGetAll(ctx context.Context, key string) *StringStringMapCmd
- func (c Client) HIncrBy(ctx context.Context, key, field string, incr int64) *IntCmd
- func (c Client) HIncrByFloat(ctx context.Context, key, field string, incr float64) *FloatCmd
- func (c Client) HKeys(ctx context.Context, key string) *StringSliceCmd
- func (c Client) HLen(ctx context.Context, key string) *IntCmd
- func (c Client) HMGet(ctx context.Context, key string, fields ...string) *SliceCmd
- func (c Client) HMSet(ctx context.Context, key string, values ...interface{}) *BoolCmd
- func (c Client) HScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Client) HSet(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Client) HSetNX(ctx context.Context, key, field string, value interface{}) *BoolCmd
- func (c Client) HVals(ctx context.Context, key string) *StringSliceCmd
- func (c Client) Incr(ctx context.Context, key string) *IntCmd
- func (c Client) IncrBy(ctx context.Context, key string, value int64) *IntCmd
- func (c Client) IncrByFloat(ctx context.Context, key string, value float64) *FloatCmd
- func (c Client) Info(ctx context.Context, section ...string) *StringCmd
- func (c Client) Keys(ctx context.Context, pattern string) *StringSliceCmd
- func (c Client) LIndex(ctx context.Context, key string, index int64) *StringCmd
- func (c Client) LInsert(ctx context.Context, key, op string, pivot, value interface{}) *IntCmd
- func (c Client) LInsertAfter(ctx context.Context, key string, pivot, value interface{}) *IntCmd
- func (c Client) LInsertBefore(ctx context.Context, key string, pivot, value interface{}) *IntCmd
- func (c Client) LLen(ctx context.Context, key string) *IntCmd
- func (c Client) LPop(ctx context.Context, key string) *StringCmd
- func (c Client) LPos(ctx context.Context, key string, value string, a LPosArgs) *IntCmd
- func (c Client) LPosCount(ctx context.Context, key string, value string, count int64, a LPosArgs) *IntSliceCmd
- func (c Client) LPush(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Client) LPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Client) LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Client) LRem(ctx context.Context, key string, count int64, value interface{}) *IntCmd
- func (c Client) LSet(ctx context.Context, key string, index int64, value interface{}) *StatusCmd
- func (c Client) LTrim(ctx context.Context, key string, start, stop int64) *StatusCmd
- func (c Client) LastSave(ctx context.Context) *IntCmd
- func (c Client) MGet(ctx context.Context, keys ...string) *SliceCmd
- func (c Client) MSet(ctx context.Context, values ...interface{}) *StatusCmd
- func (c Client) MSetNX(ctx context.Context, values ...interface{}) *BoolCmd
- func (c Client) MemoryUsage(ctx context.Context, key string, samples ...int) *IntCmd
- func (c Client) Migrate(ctx context.Context, host, port, key string, db int, timeout time.Duration) *StatusCmd
- func (c Client) Move(ctx context.Context, key string, db int) *BoolCmd
- func (c Client) ObjectEncoding(ctx context.Context, key string) *StringCmd
- func (c Client) ObjectIdleTime(ctx context.Context, key string) *DurationCmd
- func (c Client) ObjectRefCount(ctx context.Context, key string) *IntCmd
- func (c *Client) Options() *Options
- func (c Client) PExpire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Client) PExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
- func (c Client) PFAdd(ctx context.Context, key string, els ...interface{}) *IntCmd
- func (c Client) PFCount(ctx context.Context, keys ...string) *IntCmd
- func (c Client) PFMerge(ctx context.Context, dest string, keys ...string) *StatusCmd
- func (c *Client) PSubscribe(ctx context.Context, channels ...string) *PubSub
- func (c Client) PTTL(ctx context.Context, key string) *DurationCmd
- func (c Client) Persist(ctx context.Context, key string) *BoolCmd
- func (c Client) Ping(ctx context.Context) *StatusCmd
- func (c *Client) Pipeline() Pipeliner
- func (c *Client) Pipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
- func (c *Client) PoolStats() *PoolStats
- func (c *Client) Process(ctx context.Context, cmd Cmder) error
- func (c Client) PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
- func (c Client) PubSubNumPat(ctx context.Context) *IntCmd
- func (c Client) PubSubNumSub(ctx context.Context, channels ...string) *StringIntMapCmd
- func (c Client) Publish(ctx context.Context, channel string, message interface{}) *IntCmd
- func (c Client) Quit(ctx context.Context) *StatusCmd
- func (c Client) RPop(ctx context.Context, key string) *StringCmd
- func (c Client) RPopLPush(ctx context.Context, source, destination string) *StringCmd
- func (c Client) RPush(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Client) RPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Client) RandomKey(ctx context.Context) *StringCmd
- func (c Client) ReadOnly(ctx context.Context) *StatusCmd
- func (c Client) ReadWrite(ctx context.Context) *StatusCmd
- func (c Client) Rename(ctx context.Context, key, newkey string) *StatusCmd
- func (c Client) RenameNX(ctx context.Context, key, newkey string) *BoolCmd
- func (c Client) Restore(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
- func (c Client) RestoreReplace(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
- func (c Client) SAdd(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Client) SCard(ctx context.Context, key string) *IntCmd
- func (c Client) SDiff(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Client) SDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Client) SInter(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Client) SInterStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Client) SIsMember(ctx context.Context, key string, member interface{}) *BoolCmd
- func (c Client) SMembers(ctx context.Context, key string) *StringSliceCmd
- func (c Client) SMembersMap(ctx context.Context, key string) *StringStructMapCmd
- func (c Client) SMove(ctx context.Context, source, destination string, member interface{}) *BoolCmd
- func (c Client) SPop(ctx context.Context, key string) *StringCmd
- func (c Client) SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
- func (c Client) SRandMember(ctx context.Context, key string) *StringCmd
- func (c Client) SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
- func (c Client) SRem(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Client) SScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Client) SUnion(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Client) SUnionStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Client) Save(ctx context.Context) *StatusCmd
- func (c Client) Scan(ctx context.Context, cursor uint64, match string, count int64) *ScanCmd
- func (c Client) ScanType(ctx context.Context, cursor uint64, match string, count int64, keyType string) *ScanCmd
- func (c Client) ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
- func (c Client) ScriptFlush(ctx context.Context) *StatusCmd
- func (c Client) ScriptKill(ctx context.Context) *StatusCmd
- func (c Client) ScriptLoad(ctx context.Context, script string) *StringCmd
- func (c Client) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
- func (c Client) SetBit(ctx context.Context, key string, offset int64, value int) *IntCmd
- func (c Client) SetEX(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
- func (c Client) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
- func (c Client) SetRange(ctx context.Context, key string, offset int64, value string) *IntCmd
- func (c Client) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
- func (c Client) Shutdown(ctx context.Context) *StatusCmd
- func (c Client) ShutdownNoSave(ctx context.Context) *StatusCmd
- func (c Client) ShutdownSave(ctx context.Context) *StatusCmd
- func (c Client) SlaveOf(ctx context.Context, host, port string) *StatusCmd
- func (c Client) SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
- func (c Client) Sort(ctx context.Context, key string, sort *Sort) *StringSliceCmd
- func (c Client) SortInterfaces(ctx context.Context, key string, sort *Sort) *SliceCmd
- func (c Client) SortStore(ctx context.Context, key, store string, sort *Sort) *IntCmd
- func (c Client) StrLen(ctx context.Context, key string) *IntCmd
- func (c Client) String() string
- func (c *Client) Subscribe(ctx context.Context, channels ...string) *PubSub
- func (c Client) Sync(ctx context.Context)
- func (c Client) TTL(ctx context.Context, key string) *DurationCmd
- func (c Client) Time(ctx context.Context) *TimeCmd
- func (c Client) Touch(ctx context.Context, keys ...string) *IntCmd
- func (c *Client) TxPipeline() Pipeliner
- func (c *Client) TxPipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
- func (c Client) Type(ctx context.Context, key string) *StatusCmd
- func (c Client) Unlink(ctx context.Context, keys ...string) *IntCmd
- func (c Client) Wait(ctx context.Context, numSlaves int, timeout time.Duration) *IntCmd
- func (c *Client) Watch(ctx context.Context, fn func(*Tx) error, keys ...string) error
- func (c *Client) WithContext(ctx context.Context) *Client
- func (c *Client) WithTimeout(timeout time.Duration) *Client
- func (c Client) XAck(ctx context.Context, stream, group string, ids ...string) *IntCmd
- func (c Client) XAdd(ctx context.Context, a *XAddArgs) *StringCmd
- func (c Client) XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
- func (c Client) XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
- func (c Client) XDel(ctx context.Context, stream string, ids ...string) *IntCmd
- func (c Client) XGroupCreate(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Client) XGroupCreateMkStream(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Client) XGroupDelConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
- func (c Client) XGroupDestroy(ctx context.Context, stream, group string) *IntCmd
- func (c Client) XGroupSetID(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Client) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
- func (c Client) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
- func (c Client) XLen(ctx context.Context, stream string) *IntCmd
- func (c Client) XPending(ctx context.Context, stream, group string) *XPendingCmd
- func (c Client) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
- func (c Client) XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
- func (c Client) XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
- func (c Client) XRead(ctx context.Context, a *XReadArgs) *XStreamSliceCmd
- func (c Client) XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
- func (c Client) XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
- func (c Client) XRevRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
- func (c Client) XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
- func (c Client) XTrim(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Client) XTrimApprox(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Client) ZAdd(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Client) ZAddCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Client) ZAddNX(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Client) ZAddNXCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Client) ZAddXX(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Client) ZAddXXCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Client) ZCard(ctx context.Context, key string) *IntCmd
- func (c Client) ZCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Client) ZIncr(ctx context.Context, key string, member *Z) *FloatCmd
- func (c Client) ZIncrBy(ctx context.Context, key string, increment float64, member string) *FloatCmd
- func (c Client) ZIncrNX(ctx context.Context, key string, member *Z) *FloatCmd
- func (c Client) ZIncrXX(ctx context.Context, key string, member *Z) *FloatCmd
- func (c Client) ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
- func (c Client) ZLexCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Client) ZPopMax(ctx context.Context, key string, count ...int64) *ZSliceCmd
- func (c Client) ZPopMin(ctx context.Context, key string, count ...int64) *ZSliceCmd
- func (c Client) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Client) ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Client) ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Client) ZRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
- func (c Client) ZRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
- func (c Client) ZRank(ctx context.Context, key, member string) *IntCmd
- func (c Client) ZRem(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Client) ZRemRangeByLex(ctx context.Context, key, min, max string) *IntCmd
- func (c Client) ZRemRangeByRank(ctx context.Context, key string, start, stop int64) *IntCmd
- func (c Client) ZRemRangeByScore(ctx context.Context, key, min, max string) *IntCmd
- func (c Client) ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Client) ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Client) ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Client) ZRevRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
- func (c Client) ZRevRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
- func (c Client) ZRevRank(ctx context.Context, key, member string) *IntCmd
- func (c Client) ZScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Client) ZScore(ctx context.Context, key, member string) *FloatCmd
- func (c Client) ZUnionStore(ctx context.Context, dest string, store *ZStore) *IntCmd
- type ClusterClient
- func NewClusterClient(opt *ClusterOptions) *ClusterClient
- func NewFailoverClusterClient(failoverOpt *FailoverOptions) *ClusterClient
- func (hs *ClusterClient) AddHook(hook Hook)
- func (c ClusterClient) Append(ctx context.Context, key, value string) *IntCmd
- func (c ClusterClient) BLPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
- func (c ClusterClient) BRPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
- func (c ClusterClient) BRPopLPush(ctx context.Context, source, destination string, timeout time.Duration) *StringCmd
- func (c ClusterClient) BZPopMax(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
- func (c ClusterClient) BZPopMin(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
- func (c ClusterClient) BgRewriteAOF(ctx context.Context) *StatusCmd
- func (c ClusterClient) BgSave(ctx context.Context) *StatusCmd
- func (c ClusterClient) BitCount(ctx context.Context, key string, bitCount *BitCount) *IntCmd
- func (c ClusterClient) BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
- func (c ClusterClient) BitOpAnd(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c ClusterClient) BitOpNot(ctx context.Context, destKey string, key string) *IntCmd
- func (c ClusterClient) BitOpOr(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c ClusterClient) BitOpXor(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c ClusterClient) BitPos(ctx context.Context, key string, bit int64, pos ...int64) *IntCmd
- func (c ClusterClient) ClientGetName(ctx context.Context) *StringCmd
- func (c ClusterClient) ClientID(ctx context.Context) *IntCmd
- func (c ClusterClient) ClientKill(ctx context.Context, ipPort string) *StatusCmd
- func (c ClusterClient) ClientKillByFilter(ctx context.Context, keys ...string) *IntCmd
- func (c ClusterClient) ClientList(ctx context.Context) *StringCmd
- func (c ClusterClient) ClientPause(ctx context.Context, dur time.Duration) *BoolCmd
- func (c ClusterClient) ClientUnblock(ctx context.Context, id int64) *IntCmd
- func (c ClusterClient) ClientUnblockWithError(ctx context.Context, id int64) *IntCmd
- func (c *ClusterClient) Close() error
- func (c ClusterClient) ClusterAddSlots(ctx context.Context, slots ...int) *StatusCmd
- func (c ClusterClient) ClusterAddSlotsRange(ctx context.Context, min, max int) *StatusCmd
- func (c ClusterClient) ClusterCountFailureReports(ctx context.Context, nodeID string) *IntCmd
- func (c ClusterClient) ClusterCountKeysInSlot(ctx context.Context, slot int) *IntCmd
- func (c ClusterClient) ClusterDelSlots(ctx context.Context, slots ...int) *StatusCmd
- func (c ClusterClient) ClusterDelSlotsRange(ctx context.Context, min, max int) *StatusCmd
- func (c ClusterClient) ClusterFailover(ctx context.Context) *StatusCmd
- func (c ClusterClient) ClusterForget(ctx context.Context, nodeID string) *StatusCmd
- func (c ClusterClient) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
- func (c ClusterClient) ClusterInfo(ctx context.Context) *StringCmd
- func (c ClusterClient) ClusterKeySlot(ctx context.Context, key string) *IntCmd
- func (c ClusterClient) ClusterMeet(ctx context.Context, host, port string) *StatusCmd
- func (c ClusterClient) ClusterNodes(ctx context.Context) *StringCmd
- func (c ClusterClient) ClusterReplicate(ctx context.Context, nodeID string) *StatusCmd
- func (c ClusterClient) ClusterResetHard(ctx context.Context) *StatusCmd
- func (c ClusterClient) ClusterResetSoft(ctx context.Context) *StatusCmd
- func (c ClusterClient) ClusterSaveConfig(ctx context.Context) *StatusCmd
- func (c ClusterClient) ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
- func (c ClusterClient) ClusterSlots(ctx context.Context) *ClusterSlotsCmd
- func (c ClusterClient) Command(ctx context.Context) *CommandsInfoCmd
- func (c ClusterClient) ConfigGet(ctx context.Context, parameter string) *SliceCmd
- func (c ClusterClient) ConfigResetStat(ctx context.Context) *StatusCmd
- func (c ClusterClient) ConfigRewrite(ctx context.Context) *StatusCmd
- func (c ClusterClient) ConfigSet(ctx context.Context, parameter, value string) *StatusCmd
- func (c *ClusterClient) Context() context.Context
- func (c *ClusterClient) DBSize(ctx context.Context) *IntCmd
- func (c ClusterClient) DebugObject(ctx context.Context, key string) *StringCmd
- func (c ClusterClient) Decr(ctx context.Context, key string) *IntCmd
- func (c ClusterClient) DecrBy(ctx context.Context, key string, decrement int64) *IntCmd
- func (c ClusterClient) Del(ctx context.Context, keys ...string) *IntCmd
- func (c *ClusterClient) Do(ctx context.Context, args ...interface{}) *Cmd
- func (c ClusterClient) Dump(ctx context.Context, key string) *StringCmd
- func (c ClusterClient) Echo(ctx context.Context, message interface{}) *StringCmd
- func (c ClusterClient) Eval(ctx context.Context, script string, keys []string, args ...interface{}) *Cmd
- func (c ClusterClient) EvalSha(ctx context.Context, sha1 string, keys []string, args ...interface{}) *Cmd
- func (c ClusterClient) Exists(ctx context.Context, keys ...string) *IntCmd
- func (c ClusterClient) Expire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c ClusterClient) ExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
- func (c ClusterClient) FlushAll(ctx context.Context) *StatusCmd
- func (c ClusterClient) FlushAllAsync(ctx context.Context) *StatusCmd
- func (c ClusterClient) FlushDB(ctx context.Context) *StatusCmd
- func (c ClusterClient) FlushDBAsync(ctx context.Context) *StatusCmd
- func (c *ClusterClient) ForEachMaster(
ctx context.Context,
fn func(ctx context.Context, client *Client) error,
) error
- func (c *ClusterClient) ForEachShard(
ctx context.Context,
fn func(ctx context.Context, client *Client) error,
) error
- func (c *ClusterClient) ForEachSlave(
ctx context.Context,
fn func(ctx context.Context, client *Client) error,
) error
- func (c ClusterClient) GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
- func (c ClusterClient) GeoDist(
ctx context.Context, key string, member1, member2, unit string,
) *FloatCmd
- func (c ClusterClient) GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
- func (c ClusterClient) GeoPos(ctx context.Context, key string, members ...string) *GeoPosCmd
- func (c ClusterClient) GeoRadius(
ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery,
) *GeoLocationCmd
- func (c ClusterClient) GeoRadiusByMember(
ctx context.Context, key, member string, query *GeoRadiusQuery,
) *GeoLocationCmd
- func (c ClusterClient) GeoRadiusByMemberStore(
ctx context.Context, key, member string, query *GeoRadiusQuery,
) *IntCmd
- func (c ClusterClient) GeoRadiusStore(
ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery,
) *IntCmd
- func (c ClusterClient) Get(ctx context.Context, key string) *StringCmd
- func (c ClusterClient) GetBit(ctx context.Context, key string, offset int64) *IntCmd
- func (c ClusterClient) GetRange(ctx context.Context, key string, start, end int64) *StringCmd
- func (c ClusterClient) GetSet(ctx context.Context, key string, value interface{}) *StringCmd
- func (c ClusterClient) HDel(ctx context.Context, key string, fields ...string) *IntCmd
- func (c ClusterClient) HExists(ctx context.Context, key, field string) *BoolCmd
- func (c ClusterClient) HGet(ctx context.Context, key, field string) *StringCmd
- func (c ClusterClient) HGetAll(ctx context.Context, key string) *StringStringMapCmd
- func (c ClusterClient) HIncrBy(ctx context.Context, key, field string, incr int64) *IntCmd
- func (c ClusterClient) HIncrByFloat(ctx context.Context, key, field string, incr float64) *FloatCmd
- func (c ClusterClient) HKeys(ctx context.Context, key string) *StringSliceCmd
- func (c ClusterClient) HLen(ctx context.Context, key string) *IntCmd
- func (c ClusterClient) HMGet(ctx context.Context, key string, fields ...string) *SliceCmd
- func (c ClusterClient) HMSet(ctx context.Context, key string, values ...interface{}) *BoolCmd
- func (c ClusterClient) HScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c ClusterClient) HSet(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c ClusterClient) HSetNX(ctx context.Context, key, field string, value interface{}) *BoolCmd
- func (c ClusterClient) HVals(ctx context.Context, key string) *StringSliceCmd
- func (c ClusterClient) Incr(ctx context.Context, key string) *IntCmd
- func (c ClusterClient) IncrBy(ctx context.Context, key string, value int64) *IntCmd
- func (c ClusterClient) IncrByFloat(ctx context.Context, key string, value float64) *FloatCmd
- func (c ClusterClient) Info(ctx context.Context, section ...string) *StringCmd
- func (c ClusterClient) Keys(ctx context.Context, pattern string) *StringSliceCmd
- func (c ClusterClient) LIndex(ctx context.Context, key string, index int64) *StringCmd
- func (c ClusterClient) LInsert(ctx context.Context, key, op string, pivot, value interface{}) *IntCmd
- func (c ClusterClient) LInsertAfter(ctx context.Context, key string, pivot, value interface{}) *IntCmd
- func (c ClusterClient) LInsertBefore(ctx context.Context, key string, pivot, value interface{}) *IntCmd
- func (c ClusterClient) LLen(ctx context.Context, key string) *IntCmd
- func (c ClusterClient) LPop(ctx context.Context, key string) *StringCmd
- func (c ClusterClient) LPos(ctx context.Context, key string, value string, a LPosArgs) *IntCmd
- func (c ClusterClient) LPosCount(ctx context.Context, key string, value string, count int64, a LPosArgs) *IntSliceCmd
- func (c ClusterClient) LPush(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c ClusterClient) LPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c ClusterClient) LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c ClusterClient) LRem(ctx context.Context, key string, count int64, value interface{}) *IntCmd
- func (c ClusterClient) LSet(ctx context.Context, key string, index int64, value interface{}) *StatusCmd
- func (c ClusterClient) LTrim(ctx context.Context, key string, start, stop int64) *StatusCmd
- func (c ClusterClient) LastSave(ctx context.Context) *IntCmd
- func (c ClusterClient) MGet(ctx context.Context, keys ...string) *SliceCmd
- func (c ClusterClient) MSet(ctx context.Context, values ...interface{}) *StatusCmd
- func (c ClusterClient) MSetNX(ctx context.Context, values ...interface{}) *BoolCmd
- func (c *ClusterClient) MasterForKey(ctx context.Context, key string) (*Client, error)
- func (c ClusterClient) MemoryUsage(ctx context.Context, key string, samples ...int) *IntCmd
- func (c ClusterClient) Migrate(ctx context.Context, host, port, key string, db int, timeout time.Duration) *StatusCmd
- func (c ClusterClient) Move(ctx context.Context, key string, db int) *BoolCmd
- func (c ClusterClient) ObjectEncoding(ctx context.Context, key string) *StringCmd
- func (c ClusterClient) ObjectIdleTime(ctx context.Context, key string) *DurationCmd
- func (c ClusterClient) ObjectRefCount(ctx context.Context, key string) *IntCmd
- func (c *ClusterClient) Options() *ClusterOptions
- func (c ClusterClient) PExpire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c ClusterClient) PExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
- func (c ClusterClient) PFAdd(ctx context.Context, key string, els ...interface{}) *IntCmd
- func (c ClusterClient) PFCount(ctx context.Context, keys ...string) *IntCmd
- func (c ClusterClient) PFMerge(ctx context.Context, dest string, keys ...string) *StatusCmd
- func (c *ClusterClient) PSubscribe(ctx context.Context, channels ...string) *PubSub
- func (c ClusterClient) PTTL(ctx context.Context, key string) *DurationCmd
- func (c ClusterClient) Persist(ctx context.Context, key string) *BoolCmd
- func (c ClusterClient) Ping(ctx context.Context) *StatusCmd
- func (c *ClusterClient) Pipeline() Pipeliner
- func (c *ClusterClient) Pipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
- func (c *ClusterClient) PoolStats() *PoolStats
- func (c *ClusterClient) Process(ctx context.Context, cmd Cmder) error
- func (c ClusterClient) PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
- func (c ClusterClient) PubSubNumPat(ctx context.Context) *IntCmd
- func (c ClusterClient) PubSubNumSub(ctx context.Context, channels ...string) *StringIntMapCmd
- func (c ClusterClient) Publish(ctx context.Context, channel string, message interface{}) *IntCmd
- func (c ClusterClient) Quit(ctx context.Context) *StatusCmd
- func (c ClusterClient) RPop(ctx context.Context, key string) *StringCmd
- func (c ClusterClient) RPopLPush(ctx context.Context, source, destination string) *StringCmd
- func (c ClusterClient) RPush(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c ClusterClient) RPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c ClusterClient) RandomKey(ctx context.Context) *StringCmd
- func (c ClusterClient) ReadOnly(ctx context.Context) *StatusCmd
- func (c ClusterClient) ReadWrite(ctx context.Context) *StatusCmd
- func (c *ClusterClient) ReloadState(ctx context.Context)
- func (c ClusterClient) Rename(ctx context.Context, key, newkey string) *StatusCmd
- func (c ClusterClient) RenameNX(ctx context.Context, key, newkey string) *BoolCmd
- func (c ClusterClient) Restore(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
- func (c ClusterClient) RestoreReplace(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
- func (c ClusterClient) SAdd(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c ClusterClient) SCard(ctx context.Context, key string) *IntCmd
- func (c ClusterClient) SDiff(ctx context.Context, keys ...string) *StringSliceCmd
- func (c ClusterClient) SDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c ClusterClient) SInter(ctx context.Context, keys ...string) *StringSliceCmd
- func (c ClusterClient) SInterStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c ClusterClient) SIsMember(ctx context.Context, key string, member interface{}) *BoolCmd
- func (c ClusterClient) SMembers(ctx context.Context, key string) *StringSliceCmd
- func (c ClusterClient) SMembersMap(ctx context.Context, key string) *StringStructMapCmd
- func (c ClusterClient) SMove(ctx context.Context, source, destination string, member interface{}) *BoolCmd
- func (c ClusterClient) SPop(ctx context.Context, key string) *StringCmd
- func (c ClusterClient) SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
- func (c ClusterClient) SRandMember(ctx context.Context, key string) *StringCmd
- func (c ClusterClient) SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
- func (c ClusterClient) SRem(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c ClusterClient) SScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c ClusterClient) SUnion(ctx context.Context, keys ...string) *StringSliceCmd
- func (c ClusterClient) SUnionStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c ClusterClient) Save(ctx context.Context) *StatusCmd
- func (c ClusterClient) Scan(ctx context.Context, cursor uint64, match string, count int64) *ScanCmd
- func (c ClusterClient) ScanType(ctx context.Context, cursor uint64, match string, count int64, keyType string) *ScanCmd
- func (c ClusterClient) ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
- func (c ClusterClient) ScriptFlush(ctx context.Context) *StatusCmd
- func (c ClusterClient) ScriptKill(ctx context.Context) *StatusCmd
- func (c ClusterClient) ScriptLoad(ctx context.Context, script string) *StringCmd
- func (c ClusterClient) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
- func (c ClusterClient) SetBit(ctx context.Context, key string, offset int64, value int) *IntCmd
- func (c ClusterClient) SetEX(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
- func (c ClusterClient) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
- func (c ClusterClient) SetRange(ctx context.Context, key string, offset int64, value string) *IntCmd
- func (c ClusterClient) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
- func (c ClusterClient) Shutdown(ctx context.Context) *StatusCmd
- func (c ClusterClient) ShutdownNoSave(ctx context.Context) *StatusCmd
- func (c ClusterClient) ShutdownSave(ctx context.Context) *StatusCmd
- func (c *ClusterClient) SlaveForKey(ctx context.Context, key string) (*Client, error)
- func (c ClusterClient) SlaveOf(ctx context.Context, host, port string) *StatusCmd
- func (c ClusterClient) SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
- func (c ClusterClient) Sort(ctx context.Context, key string, sort *Sort) *StringSliceCmd
- func (c ClusterClient) SortInterfaces(ctx context.Context, key string, sort *Sort) *SliceCmd
- func (c ClusterClient) SortStore(ctx context.Context, key, store string, sort *Sort) *IntCmd
- func (c ClusterClient) StrLen(ctx context.Context, key string) *IntCmd
- func (c *ClusterClient) Subscribe(ctx context.Context, channels ...string) *PubSub
- func (c ClusterClient) Sync(ctx context.Context)
- func (c ClusterClient) TTL(ctx context.Context, key string) *DurationCmd
- func (c ClusterClient) Time(ctx context.Context) *TimeCmd
- func (c ClusterClient) Touch(ctx context.Context, keys ...string) *IntCmd
- func (c *ClusterClient) TxPipeline() Pipeliner
- func (c *ClusterClient) TxPipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
- func (c ClusterClient) Type(ctx context.Context, key string) *StatusCmd
- func (c ClusterClient) Unlink(ctx context.Context, keys ...string) *IntCmd
- func (c ClusterClient) Wait(ctx context.Context, numSlaves int, timeout time.Duration) *IntCmd
- func (c *ClusterClient) Watch(ctx context.Context, fn func(*Tx) error, keys ...string) error
- func (c *ClusterClient) WithContext(ctx context.Context) *ClusterClient
- func (c ClusterClient) XAck(ctx context.Context, stream, group string, ids ...string) *IntCmd
- func (c ClusterClient) XAdd(ctx context.Context, a *XAddArgs) *StringCmd
- func (c ClusterClient) XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
- func (c ClusterClient) XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
- func (c ClusterClient) XDel(ctx context.Context, stream string, ids ...string) *IntCmd
- func (c ClusterClient) XGroupCreate(ctx context.Context, stream, group, start string) *StatusCmd
- func (c ClusterClient) XGroupCreateMkStream(ctx context.Context, stream, group, start string) *StatusCmd
- func (c ClusterClient) XGroupDelConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
- func (c ClusterClient) XGroupDestroy(ctx context.Context, stream, group string) *IntCmd
- func (c ClusterClient) XGroupSetID(ctx context.Context, stream, group, start string) *StatusCmd
- func (c ClusterClient) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
- func (c ClusterClient) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
- func (c ClusterClient) XLen(ctx context.Context, stream string) *IntCmd
- func (c ClusterClient) XPending(ctx context.Context, stream, group string) *XPendingCmd
- func (c ClusterClient) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
- func (c ClusterClient) XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
- func (c ClusterClient) XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
- func (c ClusterClient) XRead(ctx context.Context, a *XReadArgs) *XStreamSliceCmd
- func (c ClusterClient) XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
- func (c ClusterClient) XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
- func (c ClusterClient) XRevRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
- func (c ClusterClient) XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
- func (c ClusterClient) XTrim(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c ClusterClient) XTrimApprox(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c ClusterClient) ZAdd(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c ClusterClient) ZAddCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c ClusterClient) ZAddNX(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c ClusterClient) ZAddNXCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c ClusterClient) ZAddXX(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c ClusterClient) ZAddXXCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c ClusterClient) ZCard(ctx context.Context, key string) *IntCmd
- func (c ClusterClient) ZCount(ctx context.Context, key, min, max string) *IntCmd
- func (c ClusterClient) ZIncr(ctx context.Context, key string, member *Z) *FloatCmd
- func (c ClusterClient) ZIncrBy(ctx context.Context, key string, increment float64, member string) *FloatCmd
- func (c ClusterClient) ZIncrNX(ctx context.Context, key string, member *Z) *FloatCmd
- func (c ClusterClient) ZIncrXX(ctx context.Context, key string, member *Z) *FloatCmd
- func (c ClusterClient) ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
- func (c ClusterClient) ZLexCount(ctx context.Context, key, min, max string) *IntCmd
- func (c ClusterClient) ZPopMax(ctx context.Context, key string, count ...int64) *ZSliceCmd
- func (c ClusterClient) ZPopMin(ctx context.Context, key string, count ...int64) *ZSliceCmd
- func (c ClusterClient) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c ClusterClient) ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c ClusterClient) ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c ClusterClient) ZRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
- func (c ClusterClient) ZRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
- func (c ClusterClient) ZRank(ctx context.Context, key, member string) *IntCmd
- func (c ClusterClient) ZRem(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c ClusterClient) ZRemRangeByLex(ctx context.Context, key, min, max string) *IntCmd
- func (c ClusterClient) ZRemRangeByRank(ctx context.Context, key string, start, stop int64) *IntCmd
- func (c ClusterClient) ZRemRangeByScore(ctx context.Context, key, min, max string) *IntCmd
- func (c ClusterClient) ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c ClusterClient) ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c ClusterClient) ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c ClusterClient) ZRevRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
- func (c ClusterClient) ZRevRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
- func (c ClusterClient) ZRevRank(ctx context.Context, key, member string) *IntCmd
- func (c ClusterClient) ZScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c ClusterClient) ZScore(ctx context.Context, key, member string) *FloatCmd
- func (c ClusterClient) ZUnionStore(ctx context.Context, dest string, store *ZStore) *IntCmd
- type ClusterNode
- type ClusterOptions
- type ClusterSlot
- type ClusterSlotsCmd
- type Cmd
- func NewCmd(ctx context.Context, args ...interface{}) *Cmd
- func NewCmdResult(val interface{}, err error) *Cmd
- func (cmd *Cmd) Args() []interface{}
- func (cmd *Cmd) Bool() (bool, error)
- func (cmd *Cmd) Err() error
- func (cmd *Cmd) Float32() (float32, error)
- func (cmd *Cmd) Float64() (float64, error)
- func (cmd *Cmd) FullName() string
- func (cmd *Cmd) Int() (int, error)
- func (cmd *Cmd) Int64() (int64, error)
- func (cmd *Cmd) Name() string
- func (cmd *Cmd) Result() (interface{}, error)
- func (cmd *Cmd) SetErr(e error)
- func (cmd *Cmd) String() string
- func (cmd *Cmd) Text() (string, error)
- func (cmd *Cmd) Uint64() (uint64, error)
- func (cmd *Cmd) Val() interface{}
- type Cmdable
- type Cmder
- type CommandInfo
- type CommandsInfoCmd
- type Conn
- type ConsistentHash
- type DurationCmd
- type Error
- type FailoverOptions
- type FloatCmd
- type GeoLocation
- type GeoLocationCmd
- type GeoPos
- type GeoPosCmd
- type GeoRadiusQuery
- type Hook
- type IntCmd
- type IntSliceCmd
- type LPosArgs
- type Limiter
- type Message
- type Options
- type Pipeline
- func (c Pipeline) Append(ctx context.Context, key, value string) *IntCmd
- func (c Pipeline) Auth(ctx context.Context, password string) *StatusCmd
- func (c Pipeline) AuthACL(ctx context.Context, username, password string) *StatusCmd
- func (c Pipeline) BLPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
- func (c Pipeline) BRPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
- func (c Pipeline) BRPopLPush(ctx context.Context, source, destination string, timeout time.Duration) *StringCmd
- func (c Pipeline) BZPopMax(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
- func (c Pipeline) BZPopMin(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
- func (c Pipeline) BgRewriteAOF(ctx context.Context) *StatusCmd
- func (c Pipeline) BgSave(ctx context.Context) *StatusCmd
- func (c Pipeline) BitCount(ctx context.Context, key string, bitCount *BitCount) *IntCmd
- func (c Pipeline) BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
- func (c Pipeline) BitOpAnd(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Pipeline) BitOpNot(ctx context.Context, destKey string, key string) *IntCmd
- func (c Pipeline) BitOpOr(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Pipeline) BitOpXor(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Pipeline) BitPos(ctx context.Context, key string, bit int64, pos ...int64) *IntCmd
- func (c Pipeline) ClientGetName(ctx context.Context) *StringCmd
- func (c Pipeline) ClientID(ctx context.Context) *IntCmd
- func (c Pipeline) ClientKill(ctx context.Context, ipPort string) *StatusCmd
- func (c Pipeline) ClientKillByFilter(ctx context.Context, keys ...string) *IntCmd
- func (c Pipeline) ClientList(ctx context.Context) *StringCmd
- func (c Pipeline) ClientPause(ctx context.Context, dur time.Duration) *BoolCmd
- func (c Pipeline) ClientSetName(ctx context.Context, name string) *BoolCmd
- func (c Pipeline) ClientUnblock(ctx context.Context, id int64) *IntCmd
- func (c Pipeline) ClientUnblockWithError(ctx context.Context, id int64) *IntCmd
- func (c *Pipeline) Close() error
- func (c Pipeline) ClusterAddSlots(ctx context.Context, slots ...int) *StatusCmd
- func (c Pipeline) ClusterAddSlotsRange(ctx context.Context, min, max int) *StatusCmd
- func (c Pipeline) ClusterCountFailureReports(ctx context.Context, nodeID string) *IntCmd
- func (c Pipeline) ClusterCountKeysInSlot(ctx context.Context, slot int) *IntCmd
- func (c Pipeline) ClusterDelSlots(ctx context.Context, slots ...int) *StatusCmd
- func (c Pipeline) ClusterDelSlotsRange(ctx context.Context, min, max int) *StatusCmd
- func (c Pipeline) ClusterFailover(ctx context.Context) *StatusCmd
- func (c Pipeline) ClusterForget(ctx context.Context, nodeID string) *StatusCmd
- func (c Pipeline) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
- func (c Pipeline) ClusterInfo(ctx context.Context) *StringCmd
- func (c Pipeline) ClusterKeySlot(ctx context.Context, key string) *IntCmd
- func (c Pipeline) ClusterMeet(ctx context.Context, host, port string) *StatusCmd
- func (c Pipeline) ClusterNodes(ctx context.Context) *StringCmd
- func (c Pipeline) ClusterReplicate(ctx context.Context, nodeID string) *StatusCmd
- func (c Pipeline) ClusterResetHard(ctx context.Context) *StatusCmd
- func (c Pipeline) ClusterResetSoft(ctx context.Context) *StatusCmd
- func (c Pipeline) ClusterSaveConfig(ctx context.Context) *StatusCmd
- func (c Pipeline) ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
- func (c Pipeline) ClusterSlots(ctx context.Context) *ClusterSlotsCmd
- func (c Pipeline) Command(ctx context.Context) *CommandsInfoCmd
- func (c Pipeline) ConfigGet(ctx context.Context, parameter string) *SliceCmd
- func (c Pipeline) ConfigResetStat(ctx context.Context) *StatusCmd
- func (c Pipeline) ConfigRewrite(ctx context.Context) *StatusCmd
- func (c Pipeline) ConfigSet(ctx context.Context, parameter, value string) *StatusCmd
- func (c Pipeline) DBSize(ctx context.Context) *IntCmd
- func (c Pipeline) DebugObject(ctx context.Context, key string) *StringCmd
- func (c Pipeline) Decr(ctx context.Context, key string) *IntCmd
- func (c Pipeline) DecrBy(ctx context.Context, key string, decrement int64) *IntCmd
- func (c Pipeline) Del(ctx context.Context, keys ...string) *IntCmd
- func (c *Pipeline) Discard() error
- func (c *Pipeline) Do(ctx context.Context, args ...interface{}) *Cmd
- func (c Pipeline) Dump(ctx context.Context, key string) *StringCmd
- func (c Pipeline) Echo(ctx context.Context, message interface{}) *StringCmd
- func (c Pipeline) Eval(ctx context.Context, script string, keys []string, args ...interface{}) *Cmd
- func (c Pipeline) EvalSha(ctx context.Context, sha1 string, keys []string, args ...interface{}) *Cmd
- func (c *Pipeline) Exec(ctx context.Context) ([]Cmder, error)
- func (c Pipeline) Exists(ctx context.Context, keys ...string) *IntCmd
- func (c Pipeline) Expire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Pipeline) ExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
- func (c Pipeline) FlushAll(ctx context.Context) *StatusCmd
- func (c Pipeline) FlushAllAsync(ctx context.Context) *StatusCmd
- func (c Pipeline) FlushDB(ctx context.Context) *StatusCmd
- func (c Pipeline) FlushDBAsync(ctx context.Context) *StatusCmd
- func (c Pipeline) GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
- func (c Pipeline) GeoDist(
ctx context.Context, key string, member1, member2, unit string,
) *FloatCmd
- func (c Pipeline) GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
- func (c Pipeline) GeoPos(ctx context.Context, key string, members ...string) *GeoPosCmd
- func (c Pipeline) GeoRadius(
ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery,
) *GeoLocationCmd
- func (c Pipeline) GeoRadiusByMember(
ctx context.Context, key, member string, query *GeoRadiusQuery,
) *GeoLocationCmd
- func (c Pipeline) GeoRadiusByMemberStore(
ctx context.Context, key, member string, query *GeoRadiusQuery,
) *IntCmd
- func (c Pipeline) GeoRadiusStore(
ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery,
) *IntCmd
- func (c Pipeline) Get(ctx context.Context, key string) *StringCmd
- func (c Pipeline) GetBit(ctx context.Context, key string, offset int64) *IntCmd
- func (c Pipeline) GetRange(ctx context.Context, key string, start, end int64) *StringCmd
- func (c Pipeline) GetSet(ctx context.Context, key string, value interface{}) *StringCmd
- func (c Pipeline) HDel(ctx context.Context, key string, fields ...string) *IntCmd
- func (c Pipeline) HExists(ctx context.Context, key, field string) *BoolCmd
- func (c Pipeline) HGet(ctx context.Context, key, field string) *StringCmd
- func (c Pipeline) HGetAll(ctx context.Context, key string) *StringStringMapCmd
- func (c Pipeline) HIncrBy(ctx context.Context, key, field string, incr int64) *IntCmd
- func (c Pipeline) HIncrByFloat(ctx context.Context, key, field string, incr float64) *FloatCmd
- func (c Pipeline) HKeys(ctx context.Context, key string) *StringSliceCmd
- func (c Pipeline) HLen(ctx context.Context, key string) *IntCmd
- func (c Pipeline) HMGet(ctx context.Context, key string, fields ...string) *SliceCmd
- func (c Pipeline) HMSet(ctx context.Context, key string, values ...interface{}) *BoolCmd
- func (c Pipeline) HScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Pipeline) HSet(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Pipeline) HSetNX(ctx context.Context, key, field string, value interface{}) *BoolCmd
- func (c Pipeline) HVals(ctx context.Context, key string) *StringSliceCmd
- func (c Pipeline) Incr(ctx context.Context, key string) *IntCmd
- func (c Pipeline) IncrBy(ctx context.Context, key string, value int64) *IntCmd
- func (c Pipeline) IncrByFloat(ctx context.Context, key string, value float64) *FloatCmd
- func (c Pipeline) Info(ctx context.Context, section ...string) *StringCmd
- func (c Pipeline) Keys(ctx context.Context, pattern string) *StringSliceCmd
- func (c Pipeline) LIndex(ctx context.Context, key string, index int64) *StringCmd
- func (c Pipeline) LInsert(ctx context.Context, key, op string, pivot, value interface{}) *IntCmd
- func (c Pipeline) LInsertAfter(ctx context.Context, key string, pivot, value interface{}) *IntCmd
- func (c Pipeline) LInsertBefore(ctx context.Context, key string, pivot, value interface{}) *IntCmd
- func (c Pipeline) LLen(ctx context.Context, key string) *IntCmd
- func (c Pipeline) LPop(ctx context.Context, key string) *StringCmd
- func (c Pipeline) LPos(ctx context.Context, key string, value string, a LPosArgs) *IntCmd
- func (c Pipeline) LPosCount(ctx context.Context, key string, value string, count int64, a LPosArgs) *IntSliceCmd
- func (c Pipeline) LPush(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Pipeline) LPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Pipeline) LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Pipeline) LRem(ctx context.Context, key string, count int64, value interface{}) *IntCmd
- func (c Pipeline) LSet(ctx context.Context, key string, index int64, value interface{}) *StatusCmd
- func (c Pipeline) LTrim(ctx context.Context, key string, start, stop int64) *StatusCmd
- func (c Pipeline) LastSave(ctx context.Context) *IntCmd
- func (c Pipeline) MGet(ctx context.Context, keys ...string) *SliceCmd
- func (c Pipeline) MSet(ctx context.Context, values ...interface{}) *StatusCmd
- func (c Pipeline) MSetNX(ctx context.Context, values ...interface{}) *BoolCmd
- func (c Pipeline) MemoryUsage(ctx context.Context, key string, samples ...int) *IntCmd
- func (c Pipeline) Migrate(ctx context.Context, host, port, key string, db int, timeout time.Duration) *StatusCmd
- func (c Pipeline) Move(ctx context.Context, key string, db int) *BoolCmd
- func (c Pipeline) ObjectEncoding(ctx context.Context, key string) *StringCmd
- func (c Pipeline) ObjectIdleTime(ctx context.Context, key string) *DurationCmd
- func (c Pipeline) ObjectRefCount(ctx context.Context, key string) *IntCmd
- func (c Pipeline) PExpire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Pipeline) PExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
- func (c Pipeline) PFAdd(ctx context.Context, key string, els ...interface{}) *IntCmd
- func (c Pipeline) PFCount(ctx context.Context, keys ...string) *IntCmd
- func (c Pipeline) PFMerge(ctx context.Context, dest string, keys ...string) *StatusCmd
- func (c Pipeline) PTTL(ctx context.Context, key string) *DurationCmd
- func (c Pipeline) Persist(ctx context.Context, key string) *BoolCmd
- func (c Pipeline) Ping(ctx context.Context) *StatusCmd
- func (c *Pipeline) Pipeline() Pipeliner
- func (c *Pipeline) Pipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
- func (c *Pipeline) Process(ctx context.Context, cmd Cmder) error
- func (c Pipeline) PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
- func (c Pipeline) PubSubNumPat(ctx context.Context) *IntCmd
- func (c Pipeline) PubSubNumSub(ctx context.Context, channels ...string) *StringIntMapCmd
- func (c Pipeline) Publish(ctx context.Context, channel string, message interface{}) *IntCmd
- func (c Pipeline) Quit(ctx context.Context) *StatusCmd
- func (c Pipeline) RPop(ctx context.Context, key string) *StringCmd
- func (c Pipeline) RPopLPush(ctx context.Context, source, destination string) *StringCmd
- func (c Pipeline) RPush(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Pipeline) RPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Pipeline) RandomKey(ctx context.Context) *StringCmd
- func (c Pipeline) ReadOnly(ctx context.Context) *StatusCmd
- func (c Pipeline) ReadWrite(ctx context.Context) *StatusCmd
- func (c Pipeline) Rename(ctx context.Context, key, newkey string) *StatusCmd
- func (c Pipeline) RenameNX(ctx context.Context, key, newkey string) *BoolCmd
- func (c Pipeline) Restore(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
- func (c Pipeline) RestoreReplace(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
- func (c Pipeline) SAdd(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Pipeline) SCard(ctx context.Context, key string) *IntCmd
- func (c Pipeline) SDiff(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Pipeline) SDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Pipeline) SInter(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Pipeline) SInterStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Pipeline) SIsMember(ctx context.Context, key string, member interface{}) *BoolCmd
- func (c Pipeline) SMembers(ctx context.Context, key string) *StringSliceCmd
- func (c Pipeline) SMembersMap(ctx context.Context, key string) *StringStructMapCmd
- func (c Pipeline) SMove(ctx context.Context, source, destination string, member interface{}) *BoolCmd
- func (c Pipeline) SPop(ctx context.Context, key string) *StringCmd
- func (c Pipeline) SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
- func (c Pipeline) SRandMember(ctx context.Context, key string) *StringCmd
- func (c Pipeline) SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
- func (c Pipeline) SRem(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Pipeline) SScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Pipeline) SUnion(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Pipeline) SUnionStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Pipeline) Save(ctx context.Context) *StatusCmd
- func (c Pipeline) Scan(ctx context.Context, cursor uint64, match string, count int64) *ScanCmd
- func (c Pipeline) ScanType(ctx context.Context, cursor uint64, match string, count int64, keyType string) *ScanCmd
- func (c Pipeline) ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
- func (c Pipeline) ScriptFlush(ctx context.Context) *StatusCmd
- func (c Pipeline) ScriptKill(ctx context.Context) *StatusCmd
- func (c Pipeline) ScriptLoad(ctx context.Context, script string) *StringCmd
- func (c Pipeline) Select(ctx context.Context, index int) *StatusCmd
- func (c Pipeline) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
- func (c Pipeline) SetBit(ctx context.Context, key string, offset int64, value int) *IntCmd
- func (c Pipeline) SetEX(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
- func (c Pipeline) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
- func (c Pipeline) SetRange(ctx context.Context, key string, offset int64, value string) *IntCmd
- func (c Pipeline) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
- func (c Pipeline) Shutdown(ctx context.Context) *StatusCmd
- func (c Pipeline) ShutdownNoSave(ctx context.Context) *StatusCmd
- func (c Pipeline) ShutdownSave(ctx context.Context) *StatusCmd
- func (c Pipeline) SlaveOf(ctx context.Context, host, port string) *StatusCmd
- func (c Pipeline) SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
- func (c Pipeline) Sort(ctx context.Context, key string, sort *Sort) *StringSliceCmd
- func (c Pipeline) SortInterfaces(ctx context.Context, key string, sort *Sort) *SliceCmd
- func (c Pipeline) SortStore(ctx context.Context, key, store string, sort *Sort) *IntCmd
- func (c Pipeline) StrLen(ctx context.Context, key string) *IntCmd
- func (c Pipeline) SwapDB(ctx context.Context, index1, index2 int) *StatusCmd
- func (c Pipeline) Sync(ctx context.Context)
- func (c Pipeline) TTL(ctx context.Context, key string) *DurationCmd
- func (c Pipeline) Time(ctx context.Context) *TimeCmd
- func (c Pipeline) Touch(ctx context.Context, keys ...string) *IntCmd
- func (c *Pipeline) TxPipeline() Pipeliner
- func (c *Pipeline) TxPipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
- func (c Pipeline) Type(ctx context.Context, key string) *StatusCmd
- func (c Pipeline) Unlink(ctx context.Context, keys ...string) *IntCmd
- func (c Pipeline) Wait(ctx context.Context, numSlaves int, timeout time.Duration) *IntCmd
- func (c Pipeline) XAck(ctx context.Context, stream, group string, ids ...string) *IntCmd
- func (c Pipeline) XAdd(ctx context.Context, a *XAddArgs) *StringCmd
- func (c Pipeline) XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
- func (c Pipeline) XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
- func (c Pipeline) XDel(ctx context.Context, stream string, ids ...string) *IntCmd
- func (c Pipeline) XGroupCreate(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Pipeline) XGroupCreateMkStream(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Pipeline) XGroupDelConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
- func (c Pipeline) XGroupDestroy(ctx context.Context, stream, group string) *IntCmd
- func (c Pipeline) XGroupSetID(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Pipeline) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
- func (c Pipeline) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
- func (c Pipeline) XLen(ctx context.Context, stream string) *IntCmd
- func (c Pipeline) XPending(ctx context.Context, stream, group string) *XPendingCmd
- func (c Pipeline) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
- func (c Pipeline) XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
- func (c Pipeline) XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
- func (c Pipeline) XRead(ctx context.Context, a *XReadArgs) *XStreamSliceCmd
- func (c Pipeline) XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
- func (c Pipeline) XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
- func (c Pipeline) XRevRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
- func (c Pipeline) XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
- func (c Pipeline) XTrim(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Pipeline) XTrimApprox(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Pipeline) ZAdd(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Pipeline) ZAddCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Pipeline) ZAddNX(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Pipeline) ZAddNXCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Pipeline) ZAddXX(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Pipeline) ZAddXXCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Pipeline) ZCard(ctx context.Context, key string) *IntCmd
- func (c Pipeline) ZCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Pipeline) ZIncr(ctx context.Context, key string, member *Z) *FloatCmd
- func (c Pipeline) ZIncrBy(ctx context.Context, key string, increment float64, member string) *FloatCmd
- func (c Pipeline) ZIncrNX(ctx context.Context, key string, member *Z) *FloatCmd
- func (c Pipeline) ZIncrXX(ctx context.Context, key string, member *Z) *FloatCmd
- func (c Pipeline) ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
- func (c Pipeline) ZLexCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Pipeline) ZPopMax(ctx context.Context, key string, count ...int64) *ZSliceCmd
- func (c Pipeline) ZPopMin(ctx context.Context, key string, count ...int64) *ZSliceCmd
- func (c Pipeline) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Pipeline) ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Pipeline) ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Pipeline) ZRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
- func (c Pipeline) ZRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
- func (c Pipeline) ZRank(ctx context.Context, key, member string) *IntCmd
- func (c Pipeline) ZRem(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Pipeline) ZRemRangeByLex(ctx context.Context, key, min, max string) *IntCmd
- func (c Pipeline) ZRemRangeByRank(ctx context.Context, key string, start, stop int64) *IntCmd
- func (c Pipeline) ZRemRangeByScore(ctx context.Context, key, min, max string) *IntCmd
- func (c Pipeline) ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Pipeline) ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Pipeline) ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Pipeline) ZRevRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
- func (c Pipeline) ZRevRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
- func (c Pipeline) ZRevRank(ctx context.Context, key, member string) *IntCmd
- func (c Pipeline) ZScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Pipeline) ZScore(ctx context.Context, key, member string) *FloatCmd
- func (c Pipeline) ZUnionStore(ctx context.Context, dest string, store *ZStore) *IntCmd
- type Pipeliner
- type Pong
- type PoolStats
- type PubSub
- func (c *PubSub) Channel() <-chan *Message
- func (c *PubSub) ChannelSize(size int) <-chan *Message
- func (c *PubSub) ChannelWithSubscriptions(ctx context.Context, size int) <-chan interface{}
- func (c *PubSub) Close() error
- func (c *PubSub) PSubscribe(ctx context.Context, patterns ...string) error
- func (c *PubSub) PUnsubscribe(ctx context.Context, patterns ...string) error
- func (c *PubSub) Ping(ctx context.Context, payload ...string) error
- func (c *PubSub) Receive(ctx context.Context) (interface{}, error)
- func (c *PubSub) ReceiveMessage(ctx context.Context) (*Message, error)
- func (c *PubSub) ReceiveTimeout(ctx context.Context, timeout time.Duration) (interface{}, error)
- func (c *PubSub) String() string
- func (c *PubSub) Subscribe(ctx context.Context, channels ...string) error
- func (c *PubSub) Unsubscribe(ctx context.Context, channels ...string) error
- type Ring
- func NewRing(opt *RingOptions) *Ring
- func (hs *Ring) AddHook(hook Hook)
- func (c Ring) Append(ctx context.Context, key, value string) *IntCmd
- func (c Ring) BLPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
- func (c Ring) BRPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
- func (c Ring) BRPopLPush(ctx context.Context, source, destination string, timeout time.Duration) *StringCmd
- func (c Ring) BZPopMax(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
- func (c Ring) BZPopMin(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
- func (c Ring) BgRewriteAOF(ctx context.Context) *StatusCmd
- func (c Ring) BgSave(ctx context.Context) *StatusCmd
- func (c Ring) BitCount(ctx context.Context, key string, bitCount *BitCount) *IntCmd
- func (c Ring) BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
- func (c Ring) BitOpAnd(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Ring) BitOpNot(ctx context.Context, destKey string, key string) *IntCmd
- func (c Ring) BitOpOr(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Ring) BitOpXor(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Ring) BitPos(ctx context.Context, key string, bit int64, pos ...int64) *IntCmd
- func (c Ring) ClientGetName(ctx context.Context) *StringCmd
- func (c Ring) ClientID(ctx context.Context) *IntCmd
- func (c Ring) ClientKill(ctx context.Context, ipPort string) *StatusCmd
- func (c Ring) ClientKillByFilter(ctx context.Context, keys ...string) *IntCmd
- func (c Ring) ClientList(ctx context.Context) *StringCmd
- func (c Ring) ClientPause(ctx context.Context, dur time.Duration) *BoolCmd
- func (c Ring) ClientUnblock(ctx context.Context, id int64) *IntCmd
- func (c Ring) ClientUnblockWithError(ctx context.Context, id int64) *IntCmd
- func (c *Ring) Close() error
- func (c Ring) ClusterAddSlots(ctx context.Context, slots ...int) *StatusCmd
- func (c Ring) ClusterAddSlotsRange(ctx context.Context, min, max int) *StatusCmd
- func (c Ring) ClusterCountFailureReports(ctx context.Context, nodeID string) *IntCmd
- func (c Ring) ClusterCountKeysInSlot(ctx context.Context, slot int) *IntCmd
- func (c Ring) ClusterDelSlots(ctx context.Context, slots ...int) *StatusCmd
- func (c Ring) ClusterDelSlotsRange(ctx context.Context, min, max int) *StatusCmd
- func (c Ring) ClusterFailover(ctx context.Context) *StatusCmd
- func (c Ring) ClusterForget(ctx context.Context, nodeID string) *StatusCmd
- func (c Ring) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
- func (c Ring) ClusterInfo(ctx context.Context) *StringCmd
- func (c Ring) ClusterKeySlot(ctx context.Context, key string) *IntCmd
- func (c Ring) ClusterMeet(ctx context.Context, host, port string) *StatusCmd
- func (c Ring) ClusterNodes(ctx context.Context) *StringCmd
- func (c Ring) ClusterReplicate(ctx context.Context, nodeID string) *StatusCmd
- func (c Ring) ClusterResetHard(ctx context.Context) *StatusCmd
- func (c Ring) ClusterResetSoft(ctx context.Context) *StatusCmd
- func (c Ring) ClusterSaveConfig(ctx context.Context) *StatusCmd
- func (c Ring) ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
- func (c Ring) ClusterSlots(ctx context.Context) *ClusterSlotsCmd
- func (c Ring) Command(ctx context.Context) *CommandsInfoCmd
- func (c Ring) ConfigGet(ctx context.Context, parameter string) *SliceCmd
- func (c Ring) ConfigResetStat(ctx context.Context) *StatusCmd
- func (c Ring) ConfigRewrite(ctx context.Context) *StatusCmd
- func (c Ring) ConfigSet(ctx context.Context, parameter, value string) *StatusCmd
- func (c *Ring) Context() context.Context
- func (c Ring) DBSize(ctx context.Context) *IntCmd
- func (c Ring) DebugObject(ctx context.Context, key string) *StringCmd
- func (c Ring) Decr(ctx context.Context, key string) *IntCmd
- func (c Ring) DecrBy(ctx context.Context, key string, decrement int64) *IntCmd
- func (c Ring) Del(ctx context.Context, keys ...string) *IntCmd
- func (c *Ring) Do(ctx context.Context, args ...interface{}) *Cmd
- func (c Ring) Dump(ctx context.Context, key string) *StringCmd
- func (c Ring) Echo(ctx context.Context, message interface{}) *StringCmd
- func (c Ring) Eval(ctx context.Context, script string, keys []string, args ...interface{}) *Cmd
- func (c Ring) EvalSha(ctx context.Context, sha1 string, keys []string, args ...interface{}) *Cmd
- func (c Ring) Exists(ctx context.Context, keys ...string) *IntCmd
- func (c Ring) Expire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Ring) ExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
- func (c Ring) FlushAll(ctx context.Context) *StatusCmd
- func (c Ring) FlushAllAsync(ctx context.Context) *StatusCmd
- func (c Ring) FlushDB(ctx context.Context) *StatusCmd
- func (c Ring) FlushDBAsync(ctx context.Context) *StatusCmd
- func (c *Ring) ForEachShard(
ctx context.Context,
fn func(ctx context.Context, client *Client) error,
) error
- func (c Ring) GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
- func (c Ring) GeoDist(
ctx context.Context, key string, member1, member2, unit string,
) *FloatCmd
- func (c Ring) GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
- func (c Ring) GeoPos(ctx context.Context, key string, members ...string) *GeoPosCmd
- func (c Ring) GeoRadius(
ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery,
) *GeoLocationCmd
- func (c Ring) GeoRadiusByMember(
ctx context.Context, key, member string, query *GeoRadiusQuery,
) *GeoLocationCmd
- func (c Ring) GeoRadiusByMemberStore(
ctx context.Context, key, member string, query *GeoRadiusQuery,
) *IntCmd
- func (c Ring) GeoRadiusStore(
ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery,
) *IntCmd
- func (c Ring) Get(ctx context.Context, key string) *StringCmd
- func (c Ring) GetBit(ctx context.Context, key string, offset int64) *IntCmd
- func (c Ring) GetRange(ctx context.Context, key string, start, end int64) *StringCmd
- func (c Ring) GetSet(ctx context.Context, key string, value interface{}) *StringCmd
- func (c Ring) HDel(ctx context.Context, key string, fields ...string) *IntCmd
- func (c Ring) HExists(ctx context.Context, key, field string) *BoolCmd
- func (c Ring) HGet(ctx context.Context, key, field string) *StringCmd
- func (c Ring) HGetAll(ctx context.Context, key string) *StringStringMapCmd
- func (c Ring) HIncrBy(ctx context.Context, key, field string, incr int64) *IntCmd
- func (c Ring) HIncrByFloat(ctx context.Context, key, field string, incr float64) *FloatCmd
- func (c Ring) HKeys(ctx context.Context, key string) *StringSliceCmd
- func (c Ring) HLen(ctx context.Context, key string) *IntCmd
- func (c Ring) HMGet(ctx context.Context, key string, fields ...string) *SliceCmd
- func (c Ring) HMSet(ctx context.Context, key string, values ...interface{}) *BoolCmd
- func (c Ring) HScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Ring) HSet(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Ring) HSetNX(ctx context.Context, key, field string, value interface{}) *BoolCmd
- func (c Ring) HVals(ctx context.Context, key string) *StringSliceCmd
- func (c Ring) Incr(ctx context.Context, key string) *IntCmd
- func (c Ring) IncrBy(ctx context.Context, key string, value int64) *IntCmd
- func (c Ring) IncrByFloat(ctx context.Context, key string, value float64) *FloatCmd
- func (c Ring) Info(ctx context.Context, section ...string) *StringCmd
- func (c Ring) Keys(ctx context.Context, pattern string) *StringSliceCmd
- func (c Ring) LIndex(ctx context.Context, key string, index int64) *StringCmd
- func (c Ring) LInsert(ctx context.Context, key, op string, pivot, value interface{}) *IntCmd
- func (c Ring) LInsertAfter(ctx context.Context, key string, pivot, value interface{}) *IntCmd
- func (c Ring) LInsertBefore(ctx context.Context, key string, pivot, value interface{}) *IntCmd
- func (c Ring) LLen(ctx context.Context, key string) *IntCmd
- func (c Ring) LPop(ctx context.Context, key string) *StringCmd
- func (c Ring) LPos(ctx context.Context, key string, value string, a LPosArgs) *IntCmd
- func (c Ring) LPosCount(ctx context.Context, key string, value string, count int64, a LPosArgs) *IntSliceCmd
- func (c Ring) LPush(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Ring) LPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Ring) LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Ring) LRem(ctx context.Context, key string, count int64, value interface{}) *IntCmd
- func (c Ring) LSet(ctx context.Context, key string, index int64, value interface{}) *StatusCmd
- func (c Ring) LTrim(ctx context.Context, key string, start, stop int64) *StatusCmd
- func (c Ring) LastSave(ctx context.Context) *IntCmd
- func (c *Ring) Len() int
- func (c Ring) MGet(ctx context.Context, keys ...string) *SliceCmd
- func (c Ring) MSet(ctx context.Context, values ...interface{}) *StatusCmd
- func (c Ring) MSetNX(ctx context.Context, values ...interface{}) *BoolCmd
- func (c Ring) MemoryUsage(ctx context.Context, key string, samples ...int) *IntCmd
- func (c Ring) Migrate(ctx context.Context, host, port, key string, db int, timeout time.Duration) *StatusCmd
- func (c Ring) Move(ctx context.Context, key string, db int) *BoolCmd
- func (c Ring) ObjectEncoding(ctx context.Context, key string) *StringCmd
- func (c Ring) ObjectIdleTime(ctx context.Context, key string) *DurationCmd
- func (c Ring) ObjectRefCount(ctx context.Context, key string) *IntCmd
- func (c *Ring) Options() *RingOptions
- func (c Ring) PExpire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Ring) PExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
- func (c Ring) PFAdd(ctx context.Context, key string, els ...interface{}) *IntCmd
- func (c Ring) PFCount(ctx context.Context, keys ...string) *IntCmd
- func (c Ring) PFMerge(ctx context.Context, dest string, keys ...string) *StatusCmd
- func (c *Ring) PSubscribe(ctx context.Context, channels ...string) *PubSub
- func (c Ring) PTTL(ctx context.Context, key string) *DurationCmd
- func (c Ring) Persist(ctx context.Context, key string) *BoolCmd
- func (c Ring) Ping(ctx context.Context) *StatusCmd
- func (c *Ring) Pipeline() Pipeliner
- func (c *Ring) Pipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
- func (c *Ring) PoolStats() *PoolStats
- func (c *Ring) Process(ctx context.Context, cmd Cmder) error
- func (c Ring) PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
- func (c Ring) PubSubNumPat(ctx context.Context) *IntCmd
- func (c Ring) PubSubNumSub(ctx context.Context, channels ...string) *StringIntMapCmd
- func (c Ring) Publish(ctx context.Context, channel string, message interface{}) *IntCmd
- func (c Ring) Quit(ctx context.Context) *StatusCmd
- func (c Ring) RPop(ctx context.Context, key string) *StringCmd
- func (c Ring) RPopLPush(ctx context.Context, source, destination string) *StringCmd
- func (c Ring) RPush(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Ring) RPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Ring) RandomKey(ctx context.Context) *StringCmd
- func (c Ring) ReadOnly(ctx context.Context) *StatusCmd
- func (c Ring) ReadWrite(ctx context.Context) *StatusCmd
- func (c Ring) Rename(ctx context.Context, key, newkey string) *StatusCmd
- func (c Ring) RenameNX(ctx context.Context, key, newkey string) *BoolCmd
- func (c Ring) Restore(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
- func (c Ring) RestoreReplace(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
- func (c Ring) SAdd(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Ring) SCard(ctx context.Context, key string) *IntCmd
- func (c Ring) SDiff(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Ring) SDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Ring) SInter(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Ring) SInterStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Ring) SIsMember(ctx context.Context, key string, member interface{}) *BoolCmd
- func (c Ring) SMembers(ctx context.Context, key string) *StringSliceCmd
- func (c Ring) SMembersMap(ctx context.Context, key string) *StringStructMapCmd
- func (c Ring) SMove(ctx context.Context, source, destination string, member interface{}) *BoolCmd
- func (c Ring) SPop(ctx context.Context, key string) *StringCmd
- func (c Ring) SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
- func (c Ring) SRandMember(ctx context.Context, key string) *StringCmd
- func (c Ring) SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
- func (c Ring) SRem(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Ring) SScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Ring) SUnion(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Ring) SUnionStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Ring) Save(ctx context.Context) *StatusCmd
- func (c Ring) Scan(ctx context.Context, cursor uint64, match string, count int64) *ScanCmd
- func (c Ring) ScanType(ctx context.Context, cursor uint64, match string, count int64, keyType string) *ScanCmd
- func (c Ring) ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
- func (c Ring) ScriptFlush(ctx context.Context) *StatusCmd
- func (c Ring) ScriptKill(ctx context.Context) *StatusCmd
- func (c Ring) ScriptLoad(ctx context.Context, script string) *StringCmd
- func (c Ring) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
- func (c Ring) SetBit(ctx context.Context, key string, offset int64, value int) *IntCmd
- func (c Ring) SetEX(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
- func (c Ring) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
- func (c Ring) SetRange(ctx context.Context, key string, offset int64, value string) *IntCmd
- func (c Ring) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
- func (c Ring) Shutdown(ctx context.Context) *StatusCmd
- func (c Ring) ShutdownNoSave(ctx context.Context) *StatusCmd
- func (c Ring) ShutdownSave(ctx context.Context) *StatusCmd
- func (c Ring) SlaveOf(ctx context.Context, host, port string) *StatusCmd
- func (c Ring) SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
- func (c Ring) Sort(ctx context.Context, key string, sort *Sort) *StringSliceCmd
- func (c Ring) SortInterfaces(ctx context.Context, key string, sort *Sort) *SliceCmd
- func (c Ring) SortStore(ctx context.Context, key, store string, sort *Sort) *IntCmd
- func (c Ring) StrLen(ctx context.Context, key string) *IntCmd
- func (c *Ring) Subscribe(ctx context.Context, channels ...string) *PubSub
- func (c Ring) Sync(ctx context.Context)
- func (c Ring) TTL(ctx context.Context, key string) *DurationCmd
- func (c Ring) Time(ctx context.Context) *TimeCmd
- func (c Ring) Touch(ctx context.Context, keys ...string) *IntCmd
- func (c *Ring) TxPipeline() Pipeliner
- func (c *Ring) TxPipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
- func (c Ring) Type(ctx context.Context, key string) *StatusCmd
- func (c Ring) Unlink(ctx context.Context, keys ...string) *IntCmd
- func (c Ring) Wait(ctx context.Context, numSlaves int, timeout time.Duration) *IntCmd
- func (c *Ring) Watch(ctx context.Context, fn func(*Tx) error, keys ...string) error
- func (c *Ring) WithContext(ctx context.Context) *Ring
- func (c Ring) XAck(ctx context.Context, stream, group string, ids ...string) *IntCmd
- func (c Ring) XAdd(ctx context.Context, a *XAddArgs) *StringCmd
- func (c Ring) XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
- func (c Ring) XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
- func (c Ring) XDel(ctx context.Context, stream string, ids ...string) *IntCmd
- func (c Ring) XGroupCreate(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Ring) XGroupCreateMkStream(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Ring) XGroupDelConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
- func (c Ring) XGroupDestroy(ctx context.Context, stream, group string) *IntCmd
- func (c Ring) XGroupSetID(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Ring) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
- func (c Ring) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
- func (c Ring) XLen(ctx context.Context, stream string) *IntCmd
- func (c Ring) XPending(ctx context.Context, stream, group string) *XPendingCmd
- func (c Ring) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
- func (c Ring) XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
- func (c Ring) XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
- func (c Ring) XRead(ctx context.Context, a *XReadArgs) *XStreamSliceCmd
- func (c Ring) XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
- func (c Ring) XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
- func (c Ring) XRevRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
- func (c Ring) XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
- func (c Ring) XTrim(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Ring) XTrimApprox(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Ring) ZAdd(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Ring) ZAddCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Ring) ZAddNX(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Ring) ZAddNXCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Ring) ZAddXX(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Ring) ZAddXXCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Ring) ZCard(ctx context.Context, key string) *IntCmd
- func (c Ring) ZCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Ring) ZIncr(ctx context.Context, key string, member *Z) *FloatCmd
- func (c Ring) ZIncrBy(ctx context.Context, key string, increment float64, member string) *FloatCmd
- func (c Ring) ZIncrNX(ctx context.Context, key string, member *Z) *FloatCmd
- func (c Ring) ZIncrXX(ctx context.Context, key string, member *Z) *FloatCmd
- func (c Ring) ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
- func (c Ring) ZLexCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Ring) ZPopMax(ctx context.Context, key string, count ...int64) *ZSliceCmd
- func (c Ring) ZPopMin(ctx context.Context, key string, count ...int64) *ZSliceCmd
- func (c Ring) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Ring) ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Ring) ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Ring) ZRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
- func (c Ring) ZRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
- func (c Ring) ZRank(ctx context.Context, key, member string) *IntCmd
- func (c Ring) ZRem(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Ring) ZRemRangeByLex(ctx context.Context, key, min, max string) *IntCmd
- func (c Ring) ZRemRangeByRank(ctx context.Context, key string, start, stop int64) *IntCmd
- func (c Ring) ZRemRangeByScore(ctx context.Context, key, min, max string) *IntCmd
- func (c Ring) ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Ring) ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Ring) ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Ring) ZRevRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
- func (c Ring) ZRevRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
- func (c Ring) ZRevRank(ctx context.Context, key, member string) *IntCmd
- func (c Ring) ZScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Ring) ZScore(ctx context.Context, key, member string) *FloatCmd
- func (c Ring) ZUnionStore(ctx context.Context, dest string, store *ZStore) *IntCmd
- type RingOptions
- type ScanCmd
- type ScanIterator
- type Script
- func NewScript(src string) *Script
- func (s *Script) Eval(ctx context.Context, c scripter, keys []string, args ...interface{}) *Cmd
- func (s *Script) EvalSha(ctx context.Context, c scripter, keys []string, args ...interface{}) *Cmd
- func (s *Script) Exists(ctx context.Context, c scripter) *BoolSliceCmd
- func (s *Script) Hash() string
- func (s *Script) Load(ctx context.Context, c scripter) *StringCmd
- func (s *Script) Run(ctx context.Context, c scripter, keys []string, args ...interface{}) *Cmd
- type SentinelClient
- func NewSentinelClient(opt *Options) *SentinelClient
- func (hs *SentinelClient) AddHook(hook Hook)
- func (c *SentinelClient) CkQuorum(ctx context.Context, name string) *StringCmd
- func (c SentinelClient) Close() error
- func (c *SentinelClient) Context() context.Context
- func (c *SentinelClient) Failover(ctx context.Context, name string) *StatusCmd
- func (c *SentinelClient) FlushConfig(ctx context.Context) *StatusCmd
- func (c *SentinelClient) GetMasterAddrByName(ctx context.Context, name string) *StringSliceCmd
- func (c *SentinelClient) Master(ctx context.Context, name string) *StringStringMapCmd
- func (c *SentinelClient) Masters(ctx context.Context) *SliceCmd
- func (c *SentinelClient) Monitor(ctx context.Context, name, ip, port, quorum string) *StringCmd
- func (c *SentinelClient) PSubscribe(ctx context.Context, channels ...string) *PubSub
- func (c *SentinelClient) Ping(ctx context.Context) *StringCmd
- func (c *SentinelClient) Process(ctx context.Context, cmd Cmder) error
- func (c *SentinelClient) Remove(ctx context.Context, name string) *StringCmd
- func (c *SentinelClient) Reset(ctx context.Context, pattern string) *IntCmd
- func (c *SentinelClient) Sentinels(ctx context.Context, name string) *SliceCmd
- func (c *SentinelClient) Set(ctx context.Context, name, option, value string) *StringCmd
- func (c *SentinelClient) Slaves(ctx context.Context, name string) *SliceCmd
- func (c SentinelClient) String() string
- func (c *SentinelClient) Subscribe(ctx context.Context, channels ...string) *PubSub
- func (c *SentinelClient) WithContext(ctx context.Context) *SentinelClient
- type SliceCmd
- type SlowLog
- type SlowLogCmd
- type Sort
- type StatefulCmdable
- type StatusCmd
- type StringCmd
- func NewStringCmd(ctx context.Context, args ...interface{}) *StringCmd
- func NewStringResult(val string, err error) *StringCmd
- func (cmd *StringCmd) Args() []interface{}
- func (cmd *StringCmd) Bytes() ([]byte, error)
- func (cmd *StringCmd) Err() error
- func (cmd *StringCmd) Float32() (float32, error)
- func (cmd *StringCmd) Float64() (float64, error)
- func (cmd *StringCmd) FullName() string
- func (cmd *StringCmd) Int() (int, error)
- func (cmd *StringCmd) Int64() (int64, error)
- func (cmd *StringCmd) Name() string
- func (cmd *StringCmd) Result() (string, error)
- func (cmd *StringCmd) Scan(val interface{}) error
- func (cmd *StringCmd) SetErr(e error)
- func (cmd *StringCmd) String() string
- func (cmd *StringCmd) Time() (time.Time, error)
- func (cmd *StringCmd) Uint64() (uint64, error)
- func (cmd *StringCmd) Val() string
- type StringIntMapCmd
- type StringSliceCmd
- type StringStringMapCmd
- type StringStructMapCmd
- type Subscription
- type TimeCmd
- type Tx
- func (hs *Tx) AddHook(hook Hook)
- func (c Tx) Append(ctx context.Context, key, value string) *IntCmd
- func (c Tx) Auth(ctx context.Context, password string) *StatusCmd
- func (c Tx) AuthACL(ctx context.Context, username, password string) *StatusCmd
- func (c Tx) BLPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
- func (c Tx) BRPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
- func (c Tx) BRPopLPush(ctx context.Context, source, destination string, timeout time.Duration) *StringCmd
- func (c Tx) BZPopMax(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
- func (c Tx) BZPopMin(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
- func (c Tx) BgRewriteAOF(ctx context.Context) *StatusCmd
- func (c Tx) BgSave(ctx context.Context) *StatusCmd
- func (c Tx) BitCount(ctx context.Context, key string, bitCount *BitCount) *IntCmd
- func (c Tx) BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
- func (c Tx) BitOpAnd(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Tx) BitOpNot(ctx context.Context, destKey string, key string) *IntCmd
- func (c Tx) BitOpOr(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Tx) BitOpXor(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Tx) BitPos(ctx context.Context, key string, bit int64, pos ...int64) *IntCmd
- func (c Tx) ClientGetName(ctx context.Context) *StringCmd
- func (c Tx) ClientID(ctx context.Context) *IntCmd
- func (c Tx) ClientKill(ctx context.Context, ipPort string) *StatusCmd
- func (c Tx) ClientKillByFilter(ctx context.Context, keys ...string) *IntCmd
- func (c Tx) ClientList(ctx context.Context) *StringCmd
- func (c Tx) ClientPause(ctx context.Context, dur time.Duration) *BoolCmd
- func (c Tx) ClientSetName(ctx context.Context, name string) *BoolCmd
- func (c Tx) ClientUnblock(ctx context.Context, id int64) *IntCmd
- func (c Tx) ClientUnblockWithError(ctx context.Context, id int64) *IntCmd
- func (c *Tx) Close(ctx context.Context) error
- func (c Tx) ClusterAddSlots(ctx context.Context, slots ...int) *StatusCmd
- func (c Tx) ClusterAddSlotsRange(ctx context.Context, min, max int) *StatusCmd
- func (c Tx) ClusterCountFailureReports(ctx context.Context, nodeID string) *IntCmd
- func (c Tx) ClusterCountKeysInSlot(ctx context.Context, slot int) *IntCmd
- func (c Tx) ClusterDelSlots(ctx context.Context, slots ...int) *StatusCmd
- func (c Tx) ClusterDelSlotsRange(ctx context.Context, min, max int) *StatusCmd
- func (c Tx) ClusterFailover(ctx context.Context) *StatusCmd
- func (c Tx) ClusterForget(ctx context.Context, nodeID string) *StatusCmd
- func (c Tx) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
- func (c Tx) ClusterInfo(ctx context.Context) *StringCmd
- func (c Tx) ClusterKeySlot(ctx context.Context, key string) *IntCmd
- func (c Tx) ClusterMeet(ctx context.Context, host, port string) *StatusCmd
- func (c Tx) ClusterNodes(ctx context.Context) *StringCmd
- func (c Tx) ClusterReplicate(ctx context.Context, nodeID string) *StatusCmd
- func (c Tx) ClusterResetHard(ctx context.Context) *StatusCmd
- func (c Tx) ClusterResetSoft(ctx context.Context) *StatusCmd
- func (c Tx) ClusterSaveConfig(ctx context.Context) *StatusCmd
- func (c Tx) ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
- func (c Tx) ClusterSlots(ctx context.Context) *ClusterSlotsCmd
- func (c Tx) Command(ctx context.Context) *CommandsInfoCmd
- func (c Tx) ConfigGet(ctx context.Context, parameter string) *SliceCmd
- func (c Tx) ConfigResetStat(ctx context.Context) *StatusCmd
- func (c Tx) ConfigRewrite(ctx context.Context) *StatusCmd
- func (c Tx) ConfigSet(ctx context.Context, parameter, value string) *StatusCmd
- func (c *Tx) Context() context.Context
- func (c Tx) DBSize(ctx context.Context) *IntCmd
- func (c Tx) DebugObject(ctx context.Context, key string) *StringCmd
- func (c Tx) Decr(ctx context.Context, key string) *IntCmd
- func (c Tx) DecrBy(ctx context.Context, key string, decrement int64) *IntCmd
- func (c Tx) Del(ctx context.Context, keys ...string) *IntCmd
- func (c Tx) Dump(ctx context.Context, key string) *StringCmd
- func (c Tx) Echo(ctx context.Context, message interface{}) *StringCmd
- func (c Tx) Eval(ctx context.Context, script string, keys []string, args ...interface{}) *Cmd
- func (c Tx) EvalSha(ctx context.Context, sha1 string, keys []string, args ...interface{}) *Cmd
- func (c Tx) Exists(ctx context.Context, keys ...string) *IntCmd
- func (c Tx) Expire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Tx) ExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
- func (c Tx) FlushAll(ctx context.Context) *StatusCmd
- func (c Tx) FlushAllAsync(ctx context.Context) *StatusCmd
- func (c Tx) FlushDB(ctx context.Context) *StatusCmd
- func (c Tx) FlushDBAsync(ctx context.Context) *StatusCmd
- func (c Tx) GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
- func (c Tx) GeoDist(
ctx context.Context, key string, member1, member2, unit string,
) *FloatCmd
- func (c Tx) GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
- func (c Tx) GeoPos(ctx context.Context, key string, members ...string) *GeoPosCmd
- func (c Tx) GeoRadius(
ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery,
) *GeoLocationCmd
- func (c Tx) GeoRadiusByMember(
ctx context.Context, key, member string, query *GeoRadiusQuery,
) *GeoLocationCmd
- func (c Tx) GeoRadiusByMemberStore(
ctx context.Context, key, member string, query *GeoRadiusQuery,
) *IntCmd
- func (c Tx) GeoRadiusStore(
ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery,
) *IntCmd
- func (c Tx) Get(ctx context.Context, key string) *StringCmd
- func (c Tx) GetBit(ctx context.Context, key string, offset int64) *IntCmd
- func (c Tx) GetRange(ctx context.Context, key string, start, end int64) *StringCmd
- func (c Tx) GetSet(ctx context.Context, key string, value interface{}) *StringCmd
- func (c Tx) HDel(ctx context.Context, key string, fields ...string) *IntCmd
- func (c Tx) HExists(ctx context.Context, key, field string) *BoolCmd
- func (c Tx) HGet(ctx context.Context, key, field string) *StringCmd
- func (c Tx) HGetAll(ctx context.Context, key string) *StringStringMapCmd
- func (c Tx) HIncrBy(ctx context.Context, key, field string, incr int64) *IntCmd
- func (c Tx) HIncrByFloat(ctx context.Context, key, field string, incr float64) *FloatCmd
- func (c Tx) HKeys(ctx context.Context, key string) *StringSliceCmd
- func (c Tx) HLen(ctx context.Context, key string) *IntCmd
- func (c Tx) HMGet(ctx context.Context, key string, fields ...string) *SliceCmd
- func (c Tx) HMSet(ctx context.Context, key string, values ...interface{}) *BoolCmd
- func (c Tx) HScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Tx) HSet(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Tx) HSetNX(ctx context.Context, key, field string, value interface{}) *BoolCmd
- func (c Tx) HVals(ctx context.Context, key string) *StringSliceCmd
- func (c Tx) Incr(ctx context.Context, key string) *IntCmd
- func (c Tx) IncrBy(ctx context.Context, key string, value int64) *IntCmd
- func (c Tx) IncrByFloat(ctx context.Context, key string, value float64) *FloatCmd
- func (c Tx) Info(ctx context.Context, section ...string) *StringCmd
- func (c Tx) Keys(ctx context.Context, pattern string) *StringSliceCmd
- func (c Tx) LIndex(ctx context.Context, key string, index int64) *StringCmd
- func (c Tx) LInsert(ctx context.Context, key, op string, pivot, value interface{}) *IntCmd
- func (c Tx) LInsertAfter(ctx context.Context, key string, pivot, value interface{}) *IntCmd
- func (c Tx) LInsertBefore(ctx context.Context, key string, pivot, value interface{}) *IntCmd
- func (c Tx) LLen(ctx context.Context, key string) *IntCmd
- func (c Tx) LPop(ctx context.Context, key string) *StringCmd
- func (c Tx) LPos(ctx context.Context, key string, value string, a LPosArgs) *IntCmd
- func (c Tx) LPosCount(ctx context.Context, key string, value string, count int64, a LPosArgs) *IntSliceCmd
- func (c Tx) LPush(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Tx) LPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Tx) LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Tx) LRem(ctx context.Context, key string, count int64, value interface{}) *IntCmd
- func (c Tx) LSet(ctx context.Context, key string, index int64, value interface{}) *StatusCmd
- func (c Tx) LTrim(ctx context.Context, key string, start, stop int64) *StatusCmd
- func (c Tx) LastSave(ctx context.Context) *IntCmd
- func (c Tx) MGet(ctx context.Context, keys ...string) *SliceCmd
- func (c Tx) MSet(ctx context.Context, values ...interface{}) *StatusCmd
- func (c Tx) MSetNX(ctx context.Context, values ...interface{}) *BoolCmd
- func (c Tx) MemoryUsage(ctx context.Context, key string, samples ...int) *IntCmd
- func (c Tx) Migrate(ctx context.Context, host, port, key string, db int, timeout time.Duration) *StatusCmd
- func (c Tx) Move(ctx context.Context, key string, db int) *BoolCmd
- func (c Tx) ObjectEncoding(ctx context.Context, key string) *StringCmd
- func (c Tx) ObjectIdleTime(ctx context.Context, key string) *DurationCmd
- func (c Tx) ObjectRefCount(ctx context.Context, key string) *IntCmd
- func (c Tx) PExpire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Tx) PExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
- func (c Tx) PFAdd(ctx context.Context, key string, els ...interface{}) *IntCmd
- func (c Tx) PFCount(ctx context.Context, keys ...string) *IntCmd
- func (c Tx) PFMerge(ctx context.Context, dest string, keys ...string) *StatusCmd
- func (c Tx) PTTL(ctx context.Context, key string) *DurationCmd
- func (c Tx) Persist(ctx context.Context, key string) *BoolCmd
- func (c Tx) Ping(ctx context.Context) *StatusCmd
- func (c *Tx) Pipeline() Pipeliner
- func (c *Tx) Pipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
- func (c *Tx) Process(ctx context.Context, cmd Cmder) error
- func (c Tx) PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
- func (c Tx) PubSubNumPat(ctx context.Context) *IntCmd
- func (c Tx) PubSubNumSub(ctx context.Context, channels ...string) *StringIntMapCmd
- func (c Tx) Publish(ctx context.Context, channel string, message interface{}) *IntCmd
- func (c Tx) Quit(ctx context.Context) *StatusCmd
- func (c Tx) RPop(ctx context.Context, key string) *StringCmd
- func (c Tx) RPopLPush(ctx context.Context, source, destination string) *StringCmd
- func (c Tx) RPush(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Tx) RPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Tx) RandomKey(ctx context.Context) *StringCmd
- func (c Tx) ReadOnly(ctx context.Context) *StatusCmd
- func (c Tx) ReadWrite(ctx context.Context) *StatusCmd
- func (c Tx) Rename(ctx context.Context, key, newkey string) *StatusCmd
- func (c Tx) RenameNX(ctx context.Context, key, newkey string) *BoolCmd
- func (c Tx) Restore(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
- func (c Tx) RestoreReplace(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
- func (c Tx) SAdd(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Tx) SCard(ctx context.Context, key string) *IntCmd
- func (c Tx) SDiff(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Tx) SDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Tx) SInter(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Tx) SInterStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Tx) SIsMember(ctx context.Context, key string, member interface{}) *BoolCmd
- func (c Tx) SMembers(ctx context.Context, key string) *StringSliceCmd
- func (c Tx) SMembersMap(ctx context.Context, key string) *StringStructMapCmd
- func (c Tx) SMove(ctx context.Context, source, destination string, member interface{}) *BoolCmd
- func (c Tx) SPop(ctx context.Context, key string) *StringCmd
- func (c Tx) SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
- func (c Tx) SRandMember(ctx context.Context, key string) *StringCmd
- func (c Tx) SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
- func (c Tx) SRem(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Tx) SScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Tx) SUnion(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Tx) SUnionStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Tx) Save(ctx context.Context) *StatusCmd
- func (c Tx) Scan(ctx context.Context, cursor uint64, match string, count int64) *ScanCmd
- func (c Tx) ScanType(ctx context.Context, cursor uint64, match string, count int64, keyType string) *ScanCmd
- func (c Tx) ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
- func (c Tx) ScriptFlush(ctx context.Context) *StatusCmd
- func (c Tx) ScriptKill(ctx context.Context) *StatusCmd
- func (c Tx) ScriptLoad(ctx context.Context, script string) *StringCmd
- func (c Tx) Select(ctx context.Context, index int) *StatusCmd
- func (c Tx) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
- func (c Tx) SetBit(ctx context.Context, key string, offset int64, value int) *IntCmd
- func (c Tx) SetEX(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
- func (c Tx) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
- func (c Tx) SetRange(ctx context.Context, key string, offset int64, value string) *IntCmd
- func (c Tx) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
- func (c Tx) Shutdown(ctx context.Context) *StatusCmd
- func (c Tx) ShutdownNoSave(ctx context.Context) *StatusCmd
- func (c Tx) ShutdownSave(ctx context.Context) *StatusCmd
- func (c Tx) SlaveOf(ctx context.Context, host, port string) *StatusCmd
- func (c Tx) SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
- func (c Tx) Sort(ctx context.Context, key string, sort *Sort) *StringSliceCmd
- func (c Tx) SortInterfaces(ctx context.Context, key string, sort *Sort) *SliceCmd
- func (c Tx) SortStore(ctx context.Context, key, store string, sort *Sort) *IntCmd
- func (c Tx) StrLen(ctx context.Context, key string) *IntCmd
- func (c *Tx) String() string
- func (c Tx) SwapDB(ctx context.Context, index1, index2 int) *StatusCmd
- func (c Tx) Sync(ctx context.Context)
- func (c Tx) TTL(ctx context.Context, key string) *DurationCmd
- func (c Tx) Time(ctx context.Context) *TimeCmd
- func (c Tx) Touch(ctx context.Context, keys ...string) *IntCmd
- func (c *Tx) TxPipeline() Pipeliner
- func (c *Tx) TxPipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
- func (c Tx) Type(ctx context.Context, key string) *StatusCmd
- func (c Tx) Unlink(ctx context.Context, keys ...string) *IntCmd
- func (c *Tx) Unwatch(ctx context.Context, keys ...string) *StatusCmd
- func (c Tx) Wait(ctx context.Context, numSlaves int, timeout time.Duration) *IntCmd
- func (c *Tx) Watch(ctx context.Context, keys ...string) *StatusCmd
- func (c *Tx) WithContext(ctx context.Context) *Tx
- func (c Tx) XAck(ctx context.Context, stream, group string, ids ...string) *IntCmd
- func (c Tx) XAdd(ctx context.Context, a *XAddArgs) *StringCmd
- func (c Tx) XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
- func (c Tx) XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
- func (c Tx) XDel(ctx context.Context, stream string, ids ...string) *IntCmd
- func (c Tx) XGroupCreate(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Tx) XGroupCreateMkStream(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Tx) XGroupDelConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
- func (c Tx) XGroupDestroy(ctx context.Context, stream, group string) *IntCmd
- func (c Tx) XGroupSetID(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Tx) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
- func (c Tx) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
- func (c Tx) XLen(ctx context.Context, stream string) *IntCmd
- func (c Tx) XPending(ctx context.Context, stream, group string) *XPendingCmd
- func (c Tx) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
- func (c Tx) XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
- func (c Tx) XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
- func (c Tx) XRead(ctx context.Context, a *XReadArgs) *XStreamSliceCmd
- func (c Tx) XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
- func (c Tx) XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
- func (c Tx) XRevRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
- func (c Tx) XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
- func (c Tx) XTrim(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Tx) XTrimApprox(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Tx) ZAdd(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Tx) ZAddCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Tx) ZAddNX(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Tx) ZAddNXCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Tx) ZAddXX(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Tx) ZAddXXCh(ctx context.Context, key string, members ...*Z) *IntCmd
- func (c Tx) ZCard(ctx context.Context, key string) *IntCmd
- func (c Tx) ZCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Tx) ZIncr(ctx context.Context, key string, member *Z) *FloatCmd
- func (c Tx) ZIncrBy(ctx context.Context, key string, increment float64, member string) *FloatCmd
- func (c Tx) ZIncrNX(ctx context.Context, key string, member *Z) *FloatCmd
- func (c Tx) ZIncrXX(ctx context.Context, key string, member *Z) *FloatCmd
- func (c Tx) ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
- func (c Tx) ZLexCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Tx) ZPopMax(ctx context.Context, key string, count ...int64) *ZSliceCmd
- func (c Tx) ZPopMin(ctx context.Context, key string, count ...int64) *ZSliceCmd
- func (c Tx) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Tx) ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Tx) ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Tx) ZRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
- func (c Tx) ZRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
- func (c Tx) ZRank(ctx context.Context, key, member string) *IntCmd
- func (c Tx) ZRem(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Tx) ZRemRangeByLex(ctx context.Context, key, min, max string) *IntCmd
- func (c Tx) ZRemRangeByRank(ctx context.Context, key string, start, stop int64) *IntCmd
- func (c Tx) ZRemRangeByScore(ctx context.Context, key, min, max string) *IntCmd
- func (c Tx) ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Tx) ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Tx) ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Tx) ZRevRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
- func (c Tx) ZRevRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
- func (c Tx) ZRevRank(ctx context.Context, key, member string) *IntCmd
- func (c Tx) ZScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Tx) ZScore(ctx context.Context, key, member string) *FloatCmd
- func (c Tx) ZUnionStore(ctx context.Context, dest string, store *ZStore) *IntCmd
- type UniversalClient
- type UniversalOptions
- type XAddArgs
- type XClaimArgs
- type XInfoGroup
- type XInfoGroupsCmd
- type XInfoStream
- type XInfoStreamCmd
- type XMessage
- type XMessageSliceCmd
- type XPending
- type XPendingCmd
- type XPendingExt
- type XPendingExtArgs
- type XPendingExtCmd
- type XReadArgs
- type XReadGroupArgs
- type XStream
- type XStreamSliceCmd
- type Z
- type ZRangeBy
- type ZSliceCmd
- type ZStore
- type ZWithKey
- type ZWithKeyCmd
Examples ¶
cluster.go cluster_commands.go command.go commands.go doc.go error.go iterator.go options.go pipeline.go pubsub.go redis.go result.go ring.go script.go sentinel.go tx.go universal.go
Constants ¶
KeepTTL is an option for Set command to keep key's existing TTL.
For example:
rdb.Set(ctx, key, value, redis.KeepTTL)
Nil reply returned by Redis when key does not exist.
TxFailedErr transaction redis failed.
Variables ¶
❖type BitCount struct {
Start, End int64
}
❖type BoolCmd struct {
// contains filtered or unexported fields
}
NewBoolResult returns a BoolCmd initialised with val and err for testing.
❖func (cmd *BoolCmd) Args() []interface{}
func (*BoolCmd) Err ¶ Uses
❖func (cmd *BoolCmd) Err() error
❖func (cmd *BoolCmd) FullName() string
❖func (cmd *BoolCmd) SetErr(e error)
func (*BoolCmd) Val ¶ Uses
❖type BoolSliceCmd struct {
// contains filtered or unexported fields
}
NewBoolSliceResult returns a BoolSliceCmd initialised with val and err for testing.
func (*BoolSliceCmd) Args ¶ Uses
❖func (cmd *BoolSliceCmd) Args() []interface{}
func (*BoolSliceCmd) Err ¶ Uses
❖func (cmd *BoolSliceCmd) Err() error
❖func (cmd *BoolSliceCmd) FullName() string
func (*BoolSliceCmd) Name ¶ Uses
❖func (cmd *BoolSliceCmd) Name() string
func (*BoolSliceCmd) Result ¶ Uses
func (*BoolSliceCmd) SetErr ¶ Uses
❖func (cmd *BoolSliceCmd) SetErr(e error)
func (*BoolSliceCmd) String ¶ Uses
func (*BoolSliceCmd) Val ¶ Uses
❖type Client struct {
// contains filtered or unexported fields
}
Client is a Redis client representing a pool of zero or more
underlying connections. It's safe for concurrent use by multiple
goroutines.
Code:
err := rdb.Set(ctx, "key", "value", 0).Err()
if err != nil {
panic(err)
}
val, err := rdb.Get(ctx, "key").Result()
if err != nil {
panic(err)
}
fmt.Println("key", val)
val2, err := rdb.Get(ctx, "missing_key").Result()
if err == redis.Nil {
fmt.Println("missing_key does not exist")
} else if err != nil {
panic(err)
} else {
fmt.Println("missing_key", val2)
}
Output:
key value
missing_key does not exist
NewClient returns a client to the Redis Server specified by Options.
Code:
rdb := redis.NewClient(&redis.Options{
Addr: "localhost:6379", // use default Addr
Password: "", // no password set
DB: 0, // use default DB
})
pong, err := rdb.Ping(ctx).Result()
fmt.Println(pong, err)
Output:
PONG <nil>
NewFailoverClient returns a Redis client that uses Redis Sentinel
for automatic failover. It's safe for concurrent use by multiple
goroutines.
Code:
// See http://redis.io/topics/sentinel for instructions how to
// setup Redis Sentinel.
rdb := redis.NewFailoverClient(&redis.FailoverOptions{
MasterName: "master",
SentinelAddrs: []string{":26379"},
})
rdb.Ping(ctx)
❖func (hs *Client) AddHook(hook Hook)
Code:
if err := rdb.RPush(ctx, "queue", "message").Err(); err != nil {
panic(err)
}
// use `rdb.BLPop(0, "queue")` for infinite waiting time
result, err := rdb.BLPop(ctx, 1*time.Second, "queue").Result()
if err != nil {
panic(err)
}
fmt.Println(result[0], result[1])
Output:
queue message
Redis `BZPOPMAX key [key ...] timeout` command.
Redis `BZPOPMIN key [key ...] timeout` command.
ClientGetName returns the name of the connection.
ClientKillByFilter is new style syntax, while the ClientKill is old
CLIENT KILL <option> [value] ... <option> [value]
❖func (c Client) Close() error
Close closes the 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 (*Client) Do ¶ Uses
Do creates a Cmd from the args and processes the cmd.
GeoRadius is a read-only GEORADIUS_RO command.
GeoRadius is a read-only GEORADIUSBYMEMBER_RO command.
GeoRadiusByMemberStore is a writing GEORADIUSBYMEMBER command.
GeoRadiusStore is a writing GEORADIUS command.
Redis `GET key` command. It returns redis.Nil error when key does not exist.
HMGet returns the values for the specified fields in the hash stored at key.
It returns an interface{} to distinguish between empty string and nil value.
HMSet is a deprecated version of HSet left for compatibility with Redis 3.
HSet accepts values in following formats:
- HSet("myhash", "key1", "value1", "key2", "value2")
- HSet("myhash", []string{"key1", "value1", "key2", "value2"})
- HSet("myhash", map[string]interface{}{"key1": "value1", "key2": "value2"})
Note that it requires Redis v4 for multiple field/value pairs support.
Code:
result, err := rdb.Incr(ctx, "counter").Result()
if err != nil {
panic(err)
}
fmt.Println(result)
Output:
1
MSet is like Set but accepts multiple values:
- MSet("key1", "value1", "key2", "value2")
- MSet([]string{"key1", "value1", "key2", "value2"})
- MSet(map[string]interface{}{"key1": "value1", "key2": "value2"})
MSetNX is like SetNX but accepts multiple values:
- MSetNX("key1", "value1", "key2", "value2")
- MSetNX([]string{"key1", "value1", "key2", "value2"})
- MSetNX(map[string]interface{}{"key1": "value1", "key2": "value2"})
Options returns read-only Options that were used to create the client.
PSubscribe subscribes the client to the given patterns.
Patterns can be omitted to create empty subscription.
Code:
pipe := rdb.Pipeline()
incr := pipe.Incr(ctx, "pipeline_counter")
pipe.Expire(ctx, "pipeline_counter", time.Hour)
// Execute
//
// INCR pipeline_counter
// EXPIRE pipeline_counts 3600
//
// using one rdb-server roundtrip.
_, err := pipe.Exec(ctx)
fmt.Println(incr.Val(), err)
Output:
1 <nil>
Code:
var incr *redis.IntCmd
_, err := rdb.Pipelined(ctx, func(pipe redis.Pipeliner) error {
incr = pipe.Incr(ctx, "pipelined_counter")
pipe.Expire(ctx, "pipelined_counter", time.Hour)
return nil
})
fmt.Println(incr.Val(), err)
Output:
1 <nil>
PoolStats returns connection pool stats.
Publish posts the message to the channel.
Redis `SMEMBERS key` command output as a slice.
Redis `SMEMBERS key` command output as a map.
Redis `SPOP key` command.
Redis `SPOP key count` command.
Redis `SRANDMEMBER key` command.
Redis `SRANDMEMBER key count` command.
Code:
rdb.FlushDB(ctx)
for i := 0; i < 33; i++ {
err := rdb.Set(ctx, fmt.Sprintf("key%d", i), "value", 0).Err()
if err != nil {
panic(err)
}
}
var cursor uint64
var n int
for {
var keys []string
var err error
keys, cursor, err = rdb.Scan(ctx, cursor, "key*", 10).Result()
if err != nil {
panic(err)
}
n += len(keys)
if cursor == 0 {
break
}
}
fmt.Printf("found %d keys\n", n)
Output:
found 33 keys
Code:
rdb.FlushDB(ctx)
for i := 0; i < 33; i++ {
err := rdb.Set(ctx, fmt.Sprintf("key%d", i), "value", 0).Err()
if err != nil {
panic(err)
}
}
var cursor uint64
var n int
for {
var keys []string
var err error
keys, cursor, err = rdb.ScanType(ctx, cursor, "key*", 10, "string").Result()
if err != nil {
panic(err)
}
n += len(keys)
if cursor == 0 {
break
}
}
fmt.Printf("found %d keys\n", n)
Output:
found 33 keys
Redis `SET key value [expiration]` command.
Use expiration for `SETEX`-like behavior.
Zero expiration means the key has no expiration time.
KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL.
Code:
// Last argument is expiration. Zero means the key has no
// expiration time.
err := rdb.Set(ctx, "key", "value", 0).Err()
if err != nil {
panic(err)
}
// key2 will expire in an hour.
err = rdb.Set(ctx, "key2", "value", time.Hour).Err()
if err != nil {
panic(err)
}
Redis `SETEX key expiration value` command.
Code:
err := rdb.SetEX(ctx, "key", "value", time.Hour).Err()
if err != nil {
panic(err)
}
Redis `SET key value [expiration] NX` command.
Zero expiration means the key has no expiration time.
KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL.
Redis `SET key value [expiration] XX` command.
Zero expiration means the key has no expiration time.
KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL.
Code:
const key = "slowlog-log-slower-than"
old := rdb.ConfigGet(ctx, key).Val()
rdb.ConfigSet(ctx, key, "0")
defer rdb.ConfigSet(ctx, key, old[1].(string))
if err := rdb.Do(ctx, "slowlog", "reset").Err(); err != nil {
panic(err)
}
rdb.Set(ctx, "test", "true", 0)
result, err := rdb.SlowLogGet(ctx, -1).Result()
if err != nil {
panic(err)
}
fmt.Println(len(result))
Output:
2
Subscribe subscribes the client to the specified channels.
Channels can be omitted to create empty subscription.
Note that this method does not wait on a response from Redis, so the
subscription may not be active immediately. To force the connection to wait,
you may call the Receive() method on the returned *PubSub like so:
sub := client.Subscribe(queryResp)
iface, err := sub.Receive()
if err != nil {
// handle error
}
// Should be *Subscription, but others are possible if other actions have been
// taken on sub since it was created.
switch iface.(type) {
case *Subscription:
// subscribe succeeded
case *Message:
// received first message
case *Pong:
// pong received
default:
// handle error
}
ch := sub.Channel()
TxPipeline acts like Pipeline, but wraps queued commands with MULTI/EXEC.
Code:
pipe := rdb.TxPipeline()
incr := pipe.Incr(ctx, "tx_pipeline_counter")
pipe.Expire(ctx, "tx_pipeline_counter", time.Hour)
// Execute
//
// MULTI
// INCR pipeline_counter
// EXPIRE pipeline_counts 3600
// EXEC
//
// using one rdb-server roundtrip.
_, err := pipe.Exec(ctx)
fmt.Println(incr.Val(), err)
Output:
1 <nil>
Code:
var incr *redis.IntCmd
_, err := rdb.TxPipelined(ctx, func(pipe redis.Pipeliner) error {
incr = pipe.Incr(ctx, "tx_pipelined_counter")
pipe.Expire(ctx, "tx_pipelined_counter", time.Hour)
return nil
})
fmt.Println(incr.Val(), err)
Output:
1 <nil>
Watch prepares a transaction and marks the keys to be watched
for conditional execution if there are any keys.
The transaction is automatically closed when fn exits.
Code:
const maxRetries = 1000
// Increment transactionally increments key using GET and SET commands.
increment := func(key string) error {
// Transactional function.
txf := func(tx *redis.Tx) error {
// Get current value or zero.
n, err := tx.Get(ctx, key).Int()
if err != nil && err != redis.Nil {
return err
}
// Actual opperation (local in optimistic lock).
n++
// Operation is commited only if the watched keys remain unchanged.
_, err = tx.TxPipelined(ctx, func(pipe redis.Pipeliner) error {
pipe.Set(ctx, key, n, 0)
return nil
})
return err
}
for i := 0; i < maxRetries; i++ {
err := rdb.Watch(ctx, txf, key)
if err == nil {
// Success.
return nil
}
if err == redis.TxFailedErr {
// Optimistic lock lost. Retry.
continue
}
// Return any other error.
return err
}
return errors.New("increment reached maximum number of retries")
}
var wg sync.WaitGroup
for i := 0; i < 100; i++ {
wg.Add(1)
go func() {
defer wg.Done()
if err := increment("counter3"); err != nil {
fmt.Println("increment error:", err)
}
}()
}
wg.Wait()
n, err := rdb.Get(ctx, "counter3").Int()
fmt.Println("ended with", n, err)
Output:
ended with 100 <nil>
Code:
rdb := redis.NewClient(&redis.Options{
Addr: ":6379",
})
rdb.AddHook(redisHook{})
rdb.Watch(ctx, func(tx *redis.Tx) error {
tx.Ping(ctx)
tx.Ping(ctx)
return nil
}, "foo")
Output:
starting processing: <watch foo: >
finished processing: <watch foo: OK>
starting processing: <ping: >
finished processing: <ping: PONG>
starting processing: <ping: >
finished processing: <ping: PONG>
starting processing: <unwatch: >
finished processing: <unwatch: OK>
Redis `ZADD key score member [score member ...]` command.
Redis `ZADD key CH score member [score member ...]` command.
Redis `ZADD key NX score member [score member ...]` command.
Redis `ZADD key NX CH score member [score member ...]` command.
Redis `ZADD key XX score member [score member ...]` command.
Redis `ZADD key XX CH score member [score member ...]` command.
Redis `ZADD key INCR score member` command.
Redis `ZADD key NX INCR score member` command.
Redis `ZADD key XX INCR score member` command.
❖type ClusterClient struct {
// contains filtered or unexported fields
}
ClusterClient is a Redis Cluster client representing a pool of zero
or more underlying connections. It's safe for concurrent use by
multiple goroutines.
NewClusterClient returns a Redis Cluster client as described in
http://redis.io/topics/cluster-spec.
Code:
// See http://redis.io/topics/cluster-tutorial for instructions
// how to setup Redis Cluster.
rdb := redis.NewClusterClient(&redis.ClusterOptions{
Addrs: []string{":7000", ":7001", ":7002", ":7003", ":7004", ":7005"},
})
rdb.Ping(ctx)
Following example creates a cluster from 2 master nodes and 2 slave nodes
without using cluster mode or Redis Sentinel.
Code:
// clusterSlots returns cluster slots information.
// It can use service like ZooKeeper to maintain configuration information
// and Cluster.ReloadState to manually trigger state reloading.
clusterSlots := func(ctx context.Context) ([]redis.ClusterSlot, error) {
slots := []redis.ClusterSlot{
// First node with 1 master and 1 slave.
{
Start: 0,
End: 8191,
Nodes: []redis.ClusterNode{{
Addr: ":7000", // master
}, {
Addr: ":8000", // 1st slave
}},
},
// Second node with 1 master and 1 slave.
{
Start: 8192,
End: 16383,
Nodes: []redis.ClusterNode{{
Addr: ":7001", // master
}, {
Addr: ":8001", // 1st slave
}},
},
}
return slots, nil
}
rdb := redis.NewClusterClient(&redis.ClusterOptions{
ClusterSlots: clusterSlots,
RouteRandomly: true,
})
rdb.Ping(ctx)
// ReloadState reloads cluster state. It calls ClusterSlots func
// to get cluster slots information.
rdb.ReloadState(ctx)
NewFailoverClusterClient returns a client that supports routing read-only commands
to a slave node.
❖func (hs *ClusterClient) AddHook(hook Hook)
func (ClusterClient) Append ¶ Uses
func (ClusterClient) BLPop ¶ Uses
func (ClusterClient) BRPop ¶ Uses
Redis `BZPOPMAX key [key ...] timeout` command.
Redis `BZPOPMIN key [key ...] timeout` command.
func (ClusterClient) BgSave ¶ Uses
func (ClusterClient) BitPos ¶ Uses
ClientGetName returns the name of the connection.
ClientKillByFilter is new style syntax, while the ClientKill is old
CLIENT KILL <option> [value] ... <option> [value]
func (*ClusterClient) Close ¶ Uses
Close closes the cluster client, releasing any open resources.
It is rare to Close a ClusterClient, as the ClusterClient is meant
to be long-lived and shared between many goroutines.
func (*ClusterClient) DBSize ¶ Uses
func (ClusterClient) Decr ¶ Uses
func (ClusterClient) DecrBy ¶ Uses
func (ClusterClient) Del ¶ Uses
func (*ClusterClient) Do ¶ Uses
Do creates a Cmd from the args and processes the cmd.
func (ClusterClient) Dump ¶ Uses
func (ClusterClient) Echo ¶ Uses
func (ClusterClient) Eval ¶ Uses
func (ClusterClient) Exists ¶ Uses
func (ClusterClient) Expire ¶ Uses
ForEachMaster concurrently calls the fn on each master node in the cluster.
It returns the first error if any.
ForEachShard concurrently calls the fn on each known node in the cluster.
It returns the first error if any.
ForEachSlave concurrently calls the fn on each slave node in the cluster.
It returns the first error if any.
func (ClusterClient) GeoAdd ¶ Uses
func (ClusterClient) GeoPos ¶ Uses
GeoRadius is a read-only GEORADIUS_RO command.
GeoRadius is a read-only GEORADIUSBYMEMBER_RO command.
GeoRadiusByMemberStore is a writing GEORADIUSBYMEMBER command.
GeoRadiusStore is a writing GEORADIUS command.
func (ClusterClient) Get ¶ Uses
Redis `GET key` command. It returns redis.Nil error when key does not exist.
func (ClusterClient) GetBit ¶ Uses
func (ClusterClient) GetSet ¶ Uses
func (ClusterClient) HDel ¶ Uses
func (ClusterClient) HGet ¶ Uses
func (ClusterClient) HKeys ¶ Uses
func (ClusterClient) HLen ¶ Uses
func (ClusterClient) HMGet ¶ Uses
HMGet returns the values for the specified fields in the hash stored at key.
It returns an interface{} to distinguish between empty string and nil value.
func (ClusterClient) HMSet ¶ Uses
HMSet is a deprecated version of HSet left for compatibility with Redis 3.
func (ClusterClient) HScan ¶ Uses
func (ClusterClient) HSet ¶ Uses
HSet accepts values in following formats:
- HSet("myhash", "key1", "value1", "key2", "value2")
- HSet("myhash", []string{"key1", "value1", "key2", "value2"})
- HSet("myhash", map[string]interface{}{"key1": "value1", "key2": "value2"})
Note that it requires Redis v4 for multiple field/value pairs support.
func (ClusterClient) HSetNX ¶ Uses
func (ClusterClient) HVals ¶ Uses
func (ClusterClient) Incr ¶ Uses
func (ClusterClient) IncrBy ¶ Uses
func (ClusterClient) Info ¶ Uses
func (ClusterClient) Keys ¶ Uses
func (ClusterClient) LIndex ¶ Uses
func (ClusterClient) LLen ¶ Uses
func (ClusterClient) LPop ¶ Uses
func (ClusterClient) LPos ¶ Uses
func (ClusterClient) LPush ¶ Uses
func (ClusterClient) LPushX ¶ Uses
func (ClusterClient) LRange ¶ Uses
func (ClusterClient) LRem ¶ Uses
func (ClusterClient) LSet ¶ Uses
func (ClusterClient) LTrim ¶ Uses
func (ClusterClient) MGet ¶ Uses
func (ClusterClient) MSet ¶ Uses
MSet is like Set but accepts multiple values:
- MSet("key1", "value1", "key2", "value2")
- MSet([]string{"key1", "value1", "key2", "value2"})
- MSet(map[string]interface{}{"key1": "value1", "key2": "value2"})
func (ClusterClient) MSetNX ¶ Uses
MSetNX is like SetNX but accepts multiple values:
- MSetNX("key1", "value1", "key2", "value2")
- MSetNX([]string{"key1", "value1", "key2", "value2"})
- MSetNX(map[string]interface{}{"key1": "value1", "key2": "value2"})
MasterForKey return a client to the master node for a particular key.
func (ClusterClient) Move ¶ Uses
Options returns read-only Options that were used to create the client.
func (ClusterClient) PFAdd ¶ Uses
PSubscribe subscribes the client to the given patterns.
Patterns can be omitted to create empty subscription.
func (ClusterClient) PTTL ¶ Uses
func (ClusterClient) Ping ¶ Uses
PoolStats returns accumulated connection pool stats.
Publish posts the message to the channel.
func (ClusterClient) Quit ¶ Uses
func (ClusterClient) RPop ¶ Uses
func (ClusterClient) RPush ¶ Uses
func (ClusterClient) RPushX ¶ Uses
ReloadState reloads cluster state. If available it calls ClusterSlots func
to get cluster slots information.
func (ClusterClient) Rename ¶ Uses
func (ClusterClient) SAdd ¶ Uses
func (ClusterClient) SCard ¶ Uses
func (ClusterClient) SDiff ¶ Uses
func (ClusterClient) SInter ¶ Uses
Redis `SMEMBERS key` command output as a slice.
Redis `SMEMBERS key` command output as a map.
func (ClusterClient) SMove ¶ Uses
func (ClusterClient) SPop ¶ Uses
Redis `SPOP key` command.
func (ClusterClient) SPopN ¶ Uses
Redis `SPOP key count` command.
Redis `SRANDMEMBER key` command.
Redis `SRANDMEMBER key count` command.
func (ClusterClient) SRem ¶ Uses
func (ClusterClient) SScan ¶ Uses
func (ClusterClient) SUnion ¶ Uses
func (ClusterClient) Save ¶ Uses
func (ClusterClient) Scan ¶ Uses
func (ClusterClient) Set ¶ Uses
Redis `SET key value [expiration]` command.
Use expiration for `SETEX`-like behavior.
Zero expiration means the key has no expiration time.
KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL.
func (ClusterClient) SetBit ¶ Uses
func (ClusterClient) SetEX ¶ Uses
Redis `SETEX key expiration value` command.
func (ClusterClient) SetNX ¶ Uses
Redis `SET key value [expiration] NX` command.
Zero expiration means the key has no expiration time.
KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL.
func (ClusterClient) SetXX ¶ Uses
Redis `SET key value [expiration] XX` command.
Zero expiration means the key has no expiration time.
KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL.
SlaveForKey gets a client for a replica node to run any command on it.
This is especially useful if we want to run a particular lua script which has
only read only commands on the replica.
This is because other redis commands generally have a flag that points that
they are read only and automatically run on the replica nodes
if ClusterOptions.ReadOnly flag is set to true.
func (ClusterClient) Sort ¶ Uses
func (ClusterClient) StrLen ¶ Uses
Subscribe subscribes the client to the specified channels.
Channels can be omitted to create empty subscription.
func (ClusterClient) Sync ¶ Uses
func (ClusterClient) TTL ¶ Uses
func (ClusterClient) Time ¶ Uses
func (ClusterClient) Touch ¶ Uses
TxPipeline acts like Pipeline, but wraps queued commands with MULTI/EXEC.
func (ClusterClient) Type ¶ Uses
func (ClusterClient) Unlink ¶ Uses
func (ClusterClient) Wait ¶ Uses
func (*ClusterClient) Watch ¶ Uses
func (ClusterClient) XAck ¶ Uses
func (ClusterClient) XAdd ¶ Uses
func (ClusterClient) XClaim ¶ Uses
func (ClusterClient) XDel ¶ Uses
func (ClusterClient) XLen ¶ Uses
func (ClusterClient) XRange ¶ Uses
func (ClusterClient) XRead ¶ Uses
func (ClusterClient) XTrim ¶ Uses
func (ClusterClient) ZAdd ¶ Uses
Redis `ZADD key score member [score member ...]` command.
func (ClusterClient) ZAddCh ¶ Uses
Redis `ZADD key CH score member [score member ...]` command.
func (ClusterClient) ZAddNX ¶ Uses
Redis `ZADD key NX score member [score member ...]` command.
Redis `ZADD key NX CH score member [score member ...]` command.
func (ClusterClient) ZAddXX ¶ Uses
Redis `ZADD key XX score member [score member ...]` command.
Redis `ZADD key XX CH score member [score member ...]` command.
func (ClusterClient) ZCard ¶ Uses
func (ClusterClient) ZCount ¶ Uses
func (ClusterClient) ZIncr ¶ Uses
Redis `ZADD key INCR score member` command.
Redis `ZADD key NX INCR score member` command.
Redis `ZADD key XX INCR score member` command.
func (ClusterClient) ZRange ¶ Uses
func (ClusterClient) ZRank ¶ Uses
func (ClusterClient) ZRem ¶ Uses
func (ClusterClient) ZScan ¶ Uses
func (ClusterClient) ZScore ¶ Uses
❖type ClusterOptions struct {
// A seed list of host:port addresses of cluster nodes.
Addrs []string
// NewClient creates a cluster node client with provided name and options.
NewClient func(opt *Options) *Client
// The maximum number of retries before giving up. Command is retried
// on network errors and MOVED/ASK redirects.
// Default is 3 retries.
MaxRedirects int
// Enables read-only commands on slave nodes.
ReadOnly bool
// Allows routing read-only commands to the closest master or slave node.
// It automatically enables ReadOnly.
RouteByLatency bool
// Allows routing read-only commands to the random master or slave node.
// It automatically enables ReadOnly.
RouteRandomly bool
// Optional function that returns cluster slots information.
// It is useful to manually create cluster of standalone Redis servers
// and load-balance read/write operations between master and slaves.
// It can use service like ZooKeeper to maintain configuration information
// and Cluster.ReloadState to manually trigger state reloading.
ClusterSlots func(context.Context) ([]ClusterSlot, error)
Dialer func(ctx context.Context, network, addr string) (net.Conn, error)
OnConnect func(ctx context.Context, cn *Conn) error
Username string
Password string
MaxRetries int
MinRetryBackoff time.Duration
MaxRetryBackoff time.Duration
DialTimeout time.Duration
ReadTimeout time.Duration
WriteTimeout time.Duration
// PoolSize applies per cluster node and not for the whole cluster.
PoolSize int
MinIdleConns int
MaxConnAge time.Duration
PoolTimeout time.Duration
IdleTimeout time.Duration
IdleCheckFrequency time.Duration
TLSConfig *tls.Config
}
ClusterOptions are used to configure a cluster client and should be
passed to NewClusterClient.
❖type ClusterSlotsCmd struct {
// contains filtered or unexported fields
}
NewClusterSlotsCmdResult returns a ClusterSlotsCmd initialised with val and err for testing.
func (*ClusterSlotsCmd) Args ¶ Uses
❖func (cmd *ClusterSlotsCmd) Args() []interface{}
func (*ClusterSlotsCmd) Err ¶ Uses
❖func (cmd *ClusterSlotsCmd) Err() error
❖func (cmd *ClusterSlotsCmd) FullName() string
func (*ClusterSlotsCmd) Name ¶ Uses
❖func (cmd *ClusterSlotsCmd) Name() string
func (*ClusterSlotsCmd) Result ¶ Uses
func (*ClusterSlotsCmd) SetErr ¶ Uses
❖func (cmd *ClusterSlotsCmd) SetErr(e error)
func (*ClusterSlotsCmd) String ¶ Uses
func (*ClusterSlotsCmd) Val ¶ Uses
❖type Cmd struct {
// contains filtered or unexported fields
}
❖func NewCmdResult(val interface{}, err error) *Cmd
NewCmdResult returns a Cmd initialised with val and err for testing.
❖func (cmd *Cmd) Args() []interface{}
❖func (cmd *Cmd) Result() (interface{}, error)
❖func (cmd *Cmd) SetErr(e error)
❖func (cmd *Cmd) Val() interface{}
❖type Cmdable interface {
Pipeline() Pipeliner
Pipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
TxPipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
TxPipeline() Pipeliner
Command(ctx context.Context) *CommandsInfoCmd
ClientGetName(ctx context.Context) *StringCmd
Echo(ctx context.Context, message interface{}) *StringCmd
Ping(ctx context.Context) *StatusCmd
Quit(ctx context.Context) *StatusCmd
Del(ctx context.Context, keys ...string) *IntCmd
Unlink(ctx context.Context, keys ...string) *IntCmd
Dump(ctx context.Context, key string) *StringCmd
Exists(ctx context.Context, keys ...string) *IntCmd
Expire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
ExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
Keys(ctx context.Context, pattern string) *StringSliceCmd
Migrate(ctx context.Context, host, port, key string, db int, timeout time.Duration) *StatusCmd
Move(ctx context.Context, key string, db int) *BoolCmd
ObjectRefCount(ctx context.Context, key string) *IntCmd
ObjectEncoding(ctx context.Context, key string) *StringCmd
ObjectIdleTime(ctx context.Context, key string) *DurationCmd
Persist(ctx context.Context, key string) *BoolCmd
PExpire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
PExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
PTTL(ctx context.Context, key string) *DurationCmd
RandomKey(ctx context.Context) *StringCmd
Rename(ctx context.Context, key, newkey string) *StatusCmd
RenameNX(ctx context.Context, key, newkey string) *BoolCmd
Restore(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
RestoreReplace(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
Sort(ctx context.Context, key string, sort *Sort) *StringSliceCmd
SortStore(ctx context.Context, key, store string, sort *Sort) *IntCmd
SortInterfaces(ctx context.Context, key string, sort *Sort) *SliceCmd
Touch(ctx context.Context, keys ...string) *IntCmd
TTL(ctx context.Context, key string) *DurationCmd
Type(ctx context.Context, key string) *StatusCmd
Append(ctx context.Context, key, value string) *IntCmd
Decr(ctx context.Context, key string) *IntCmd
DecrBy(ctx context.Context, key string, decrement int64) *IntCmd
Get(ctx context.Context, key string) *StringCmd
GetRange(ctx context.Context, key string, start, end int64) *StringCmd
GetSet(ctx context.Context, key string, value interface{}) *StringCmd
Incr(ctx context.Context, key string) *IntCmd
IncrBy(ctx context.Context, key string, value int64) *IntCmd
IncrByFloat(ctx context.Context, key string, value float64) *FloatCmd
MGet(ctx context.Context, keys ...string) *SliceCmd
MSet(ctx context.Context, values ...interface{}) *StatusCmd
MSetNX(ctx context.Context, values ...interface{}) *BoolCmd
Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
SetEX(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetRange(ctx context.Context, key string, offset int64, value string) *IntCmd
StrLen(ctx context.Context, key string) *IntCmd
GetBit(ctx context.Context, key string, offset int64) *IntCmd
SetBit(ctx context.Context, key string, offset int64, value int) *IntCmd
BitCount(ctx context.Context, key string, bitCount *BitCount) *IntCmd
BitOpAnd(ctx context.Context, destKey string, keys ...string) *IntCmd
BitOpOr(ctx context.Context, destKey string, keys ...string) *IntCmd
BitOpXor(ctx context.Context, destKey string, keys ...string) *IntCmd
BitOpNot(ctx context.Context, destKey string, key string) *IntCmd
BitPos(ctx context.Context, key string, bit int64, pos ...int64) *IntCmd
BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
Scan(ctx context.Context, cursor uint64, match string, count int64) *ScanCmd
ScanType(ctx context.Context, cursor uint64, match string, count int64, keyType string) *ScanCmd
SScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
HScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
ZScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
HDel(ctx context.Context, key string, fields ...string) *IntCmd
HExists(ctx context.Context, key, field string) *BoolCmd
HGet(ctx context.Context, key, field string) *StringCmd
HGetAll(ctx context.Context, key string) *StringStringMapCmd
HIncrBy(ctx context.Context, key, field string, incr int64) *IntCmd
HIncrByFloat(ctx context.Context, key, field string, incr float64) *FloatCmd
HKeys(ctx context.Context, key string) *StringSliceCmd
HLen(ctx context.Context, key string) *IntCmd
HMGet(ctx context.Context, key string, fields ...string) *SliceCmd
HSet(ctx context.Context, key string, values ...interface{}) *IntCmd
HMSet(ctx context.Context, key string, values ...interface{}) *BoolCmd
HSetNX(ctx context.Context, key, field string, value interface{}) *BoolCmd
HVals(ctx context.Context, key string) *StringSliceCmd
BLPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
BRPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
BRPopLPush(ctx context.Context, source, destination string, timeout time.Duration) *StringCmd
LIndex(ctx context.Context, key string, index int64) *StringCmd
LInsert(ctx context.Context, key, op string, pivot, value interface{}) *IntCmd
LInsertBefore(ctx context.Context, key string, pivot, value interface{}) *IntCmd
LInsertAfter(ctx context.Context, key string, pivot, value interface{}) *IntCmd
LLen(ctx context.Context, key string) *IntCmd
LPop(ctx context.Context, key string) *StringCmd
LPos(ctx context.Context, key string, value string, args LPosArgs) *IntCmd
LPosCount(ctx context.Context, key string, value string, count int64, args LPosArgs) *IntSliceCmd
LPush(ctx context.Context, key string, values ...interface{}) *IntCmd
LPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
LRem(ctx context.Context, key string, count int64, value interface{}) *IntCmd
LSet(ctx context.Context, key string, index int64, value interface{}) *StatusCmd
LTrim(ctx context.Context, key string, start, stop int64) *StatusCmd
RPop(ctx context.Context, key string) *StringCmd
RPopLPush(ctx context.Context, source, destination string) *StringCmd
RPush(ctx context.Context, key string, values ...interface{}) *IntCmd
RPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
SAdd(ctx context.Context, key string, members ...interface{}) *IntCmd
SCard(ctx context.Context, key string) *IntCmd
SDiff(ctx context.Context, keys ...string) *StringSliceCmd
SDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
SInter(ctx context.Context, keys ...string) *StringSliceCmd
SInterStore(ctx context.Context, destination string, keys ...string) *IntCmd
SIsMember(ctx context.Context, key string, member interface{}) *BoolCmd
SMembers(ctx context.Context, key string) *StringSliceCmd
SMembersMap(ctx context.Context, key string) *StringStructMapCmd
SMove(ctx context.Context, source, destination string, member interface{}) *BoolCmd
SPop(ctx context.Context, key string) *StringCmd
SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
SRandMember(ctx context.Context, key string) *StringCmd
SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
SRem(ctx context.Context, key string, members ...interface{}) *IntCmd
SUnion(ctx context.Context, keys ...string) *StringSliceCmd
SUnionStore(ctx context.Context, destination string, keys ...string) *IntCmd
XAdd(ctx context.Context, a *XAddArgs) *StringCmd
XDel(ctx context.Context, stream string, ids ...string) *IntCmd
XLen(ctx context.Context, stream string) *IntCmd
XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
XRevRange(ctx context.Context, stream string, start, stop string) *XMessageSliceCmd
XRevRangeN(ctx context.Context, stream string, start, stop string, count int64) *XMessageSliceCmd
XRead(ctx context.Context, a *XReadArgs) *XStreamSliceCmd
XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
XGroupCreate(ctx context.Context, stream, group, start string) *StatusCmd
XGroupCreateMkStream(ctx context.Context, stream, group, start string) *StatusCmd
XGroupSetID(ctx context.Context, stream, group, start string) *StatusCmd
XGroupDestroy(ctx context.Context, stream, group string) *IntCmd
XGroupDelConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
XAck(ctx context.Context, stream, group string, ids ...string) *IntCmd
XPending(ctx context.Context, stream, group string) *XPendingCmd
XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
XTrim(ctx context.Context, key string, maxLen int64) *IntCmd
XTrimApprox(ctx context.Context, key string, maxLen int64) *IntCmd
XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
BZPopMax(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
BZPopMin(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
ZAdd(ctx context.Context, key string, members ...*Z) *IntCmd
ZAddNX(ctx context.Context, key string, members ...*Z) *IntCmd
ZAddXX(ctx context.Context, key string, members ...*Z) *IntCmd
ZAddCh(ctx context.Context, key string, members ...*Z) *IntCmd
ZAddNXCh(ctx context.Context, key string, members ...*Z) *IntCmd
ZAddXXCh(ctx context.Context, key string, members ...*Z) *IntCmd
ZIncr(ctx context.Context, key string, member *Z) *FloatCmd
ZIncrNX(ctx context.Context, key string, member *Z) *FloatCmd
ZIncrXX(ctx context.Context, key string, member *Z) *FloatCmd
ZCard(ctx context.Context, key string) *IntCmd
ZCount(ctx context.Context, key, min, max string) *IntCmd
ZLexCount(ctx context.Context, key, min, max string) *IntCmd
ZIncrBy(ctx context.Context, key string, increment float64, member string) *FloatCmd
ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
ZPopMax(ctx context.Context, key string, count ...int64) *ZSliceCmd
ZPopMin(ctx context.Context, key string, count ...int64) *ZSliceCmd
ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
ZRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
ZRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
ZRank(ctx context.Context, key, member string) *IntCmd
ZRem(ctx context.Context, key string, members ...interface{}) *IntCmd
ZRemRangeByRank(ctx context.Context, key string, start, stop int64) *IntCmd
ZRemRangeByScore(ctx context.Context, key, min, max string) *IntCmd
ZRemRangeByLex(ctx context.Context, key, min, max string) *IntCmd
ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
ZRevRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
ZRevRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
ZRevRank(ctx context.Context, key, member string) *IntCmd
ZScore(ctx context.Context, key, member string) *FloatCmd
ZUnionStore(ctx context.Context, dest string, store *ZStore) *IntCmd
PFAdd(ctx context.Context, key string, els ...interface{}) *IntCmd
PFCount(ctx context.Context, keys ...string) *IntCmd
PFMerge(ctx context.Context, dest string, keys ...string) *StatusCmd
BgRewriteAOF(ctx context.Context) *StatusCmd
BgSave(ctx context.Context) *StatusCmd
ClientKill(ctx context.Context, ipPort string) *StatusCmd
ClientKillByFilter(ctx context.Context, keys ...string) *IntCmd
ClientList(ctx context.Context) *StringCmd
ClientPause(ctx context.Context, dur time.Duration) *BoolCmd
ClientID(ctx context.Context) *IntCmd
ConfigGet(ctx context.Context, parameter string) *SliceCmd
ConfigResetStat(ctx context.Context) *StatusCmd
ConfigSet(ctx context.Context, parameter, value string) *StatusCmd
ConfigRewrite(ctx context.Context) *StatusCmd
DBSize(ctx context.Context) *IntCmd
FlushAll(ctx context.Context) *StatusCmd
FlushAllAsync(ctx context.Context) *StatusCmd
FlushDB(ctx context.Context) *StatusCmd
FlushDBAsync(ctx context.Context) *StatusCmd
Info(ctx context.Context, section ...string) *StringCmd
LastSave(ctx context.Context) *IntCmd
Save(ctx context.Context) *StatusCmd
Shutdown(ctx context.Context) *StatusCmd
ShutdownSave(ctx context.Context) *StatusCmd
ShutdownNoSave(ctx context.Context) *StatusCmd
SlaveOf(ctx context.Context, host, port string) *StatusCmd
Time(ctx context.Context) *TimeCmd
DebugObject(ctx context.Context, key string) *StringCmd
ReadOnly(ctx context.Context) *StatusCmd
ReadWrite(ctx context.Context) *StatusCmd
MemoryUsage(ctx context.Context, key string, samples ...int) *IntCmd
Eval(ctx context.Context, script string, keys []string, args ...interface{}) *Cmd
EvalSha(ctx context.Context, sha1 string, keys []string, args ...interface{}) *Cmd
ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
ScriptFlush(ctx context.Context) *StatusCmd
ScriptKill(ctx context.Context) *StatusCmd
ScriptLoad(ctx context.Context, script string) *StringCmd
Publish(ctx context.Context, channel string, message interface{}) *IntCmd
PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
PubSubNumSub(ctx context.Context, channels ...string) *StringIntMapCmd
PubSubNumPat(ctx context.Context) *IntCmd
ClusterSlots(ctx context.Context) *ClusterSlotsCmd
ClusterNodes(ctx context.Context) *StringCmd
ClusterMeet(ctx context.Context, host, port string) *StatusCmd
ClusterForget(ctx context.Context, nodeID string) *StatusCmd
ClusterReplicate(ctx context.Context, nodeID string) *StatusCmd
ClusterResetSoft(ctx context.Context) *StatusCmd
ClusterResetHard(ctx context.Context) *StatusCmd
ClusterInfo(ctx context.Context) *StringCmd
ClusterKeySlot(ctx context.Context, key string) *IntCmd
ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
ClusterCountFailureReports(ctx context.Context, nodeID string) *IntCmd
ClusterCountKeysInSlot(ctx context.Context, slot int) *IntCmd
ClusterDelSlots(ctx context.Context, slots ...int) *StatusCmd
ClusterDelSlotsRange(ctx context.Context, min, max int) *StatusCmd
ClusterSaveConfig(ctx context.Context) *StatusCmd
ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
ClusterFailover(ctx context.Context) *StatusCmd
ClusterAddSlots(ctx context.Context, slots ...int) *StatusCmd
ClusterAddSlotsRange(ctx context.Context, min, max int) *StatusCmd
GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
GeoPos(ctx context.Context, key string, members ...string) *GeoPosCmd
GeoRadius(ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery) *GeoLocationCmd
GeoRadiusStore(ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery) *IntCmd
GeoRadiusByMember(ctx context.Context, key, member string, query *GeoRadiusQuery) *GeoLocationCmd
GeoRadiusByMemberStore(ctx context.Context, key, member string, query *GeoRadiusQuery) *IntCmd
GeoDist(ctx context.Context, key string, member1, member2, unit string) *FloatCmd
GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
}
❖type Cmder interface {
Name() string
FullName() string
Args() []interface{}
String() string
SetErr(error)
Err() error
// contains filtered or unexported methods
}
❖type CommandsInfoCmd struct {
// contains filtered or unexported fields
}
NewCommandsInfoCmdResult returns a CommandsInfoCmd initialised with val and err for testing.
func (*CommandsInfoCmd) Args ¶ Uses
❖func (cmd *CommandsInfoCmd) Args() []interface{}
func (*CommandsInfoCmd) Err ¶ Uses
❖func (cmd *CommandsInfoCmd) Err() error
❖func (cmd *CommandsInfoCmd) FullName() string
func (*CommandsInfoCmd) Name ¶ Uses
❖func (cmd *CommandsInfoCmd) Name() string
func (*CommandsInfoCmd) Result ¶ Uses
func (*CommandsInfoCmd) SetErr ¶ Uses
❖func (cmd *CommandsInfoCmd) SetErr(e error)
func (*CommandsInfoCmd) String ¶ Uses
func (*CommandsInfoCmd) Val ¶ Uses
❖type Conn struct {
// contains filtered or unexported fields
}
Conn is like Client, but its pool contains single connection.
Code:
conn := rdb.Conn(context.Background())
err := conn.ClientSetName(ctx, "foobar").Err()
if err != nil {
panic(err)
}
// Open other connections.
for i := 0; i < 10; i++ {
go rdb.Ping(ctx)
}
s, err := conn.ClientGetName(ctx).Result()
if err != nil {
panic(err)
}
fmt.Println(s)
Output:
foobar
TxPipeline acts like Pipeline, but wraps queued commands with MULTI/EXEC.
❖type DurationCmd struct {
// contains filtered or unexported fields
}
NewDurationResult returns a DurationCmd initialised with val and err for testing.
func (*DurationCmd) Args ¶ Uses
❖func (cmd *DurationCmd) Args() []interface{}
func (*DurationCmd) Err ¶ Uses
❖func (cmd *DurationCmd) Err() error
❖func (cmd *DurationCmd) FullName() string
func (*DurationCmd) Name ¶ Uses
❖func (cmd *DurationCmd) Name() string
❖func (cmd *DurationCmd) SetErr(e error)
func (*DurationCmd) Val ¶ Uses
❖type Error interface {
error
// RedisError is a no-op function but
// serves to distinguish types that are Redis
// errors from ordinary errors: a type is a
// Redis error if it has a RedisError method.
RedisError()
}
FailoverOptions are used to configure a failover client and should
be passed to NewFailoverClient.
❖type FloatCmd struct {
// contains filtered or unexported fields
}
NewFloatResult returns a FloatCmd initialised with val and err for testing.
func (*FloatCmd) Args ¶ Uses
❖func (cmd *FloatCmd) Args() []interface{}
func (*FloatCmd) Err ¶ Uses
❖func (cmd *FloatCmd) Err() error
❖func (cmd *FloatCmd) FullName() string
func (*FloatCmd) Name ¶ Uses
❖func (cmd *FloatCmd) Name() string
❖func (cmd *FloatCmd) SetErr(e error)
func (*FloatCmd) Val ¶ Uses
GeoLocation is used with GeoAdd to add geospatial location.
❖type GeoLocationCmd struct {
// contains filtered or unexported fields
}
NewGeoLocationCmdResult returns a GeoLocationCmd initialised with val and err for testing.
func (*GeoLocationCmd) Args ¶ Uses
❖func (cmd *GeoLocationCmd) Args() []interface{}
func (*GeoLocationCmd) Err ¶ Uses
❖func (cmd *GeoLocationCmd) Err() error
❖func (cmd *GeoLocationCmd) FullName() string
func (*GeoLocationCmd) Name ¶ Uses
❖func (cmd *GeoLocationCmd) Name() string
func (*GeoLocationCmd) Result ¶ Uses
func (*GeoLocationCmd) SetErr ¶ Uses
❖func (cmd *GeoLocationCmd) SetErr(e error)
func (*GeoLocationCmd) String ¶ Uses
func (*GeoLocationCmd) Val ¶ Uses
❖type GeoPos struct {
Longitude, Latitude float64
}
❖type GeoPosCmd struct {
// contains filtered or unexported fields
}
NewGeoPosCmdResult returns a GeoPosCmd initialised with val and err for testing.
func (*GeoPosCmd) Args ¶ Uses
❖func (cmd *GeoPosCmd) Args() []interface{}
func (*GeoPosCmd) Err ¶ Uses
❖func (cmd *GeoPosCmd) Err() error
❖func (cmd *GeoPosCmd) FullName() string
func (*GeoPosCmd) Name ¶ Uses
❖func (cmd *GeoPosCmd) Name() string
❖func (cmd *GeoPosCmd) SetErr(e error)
func (*GeoPosCmd) Val ¶ Uses
❖type GeoRadiusQuery struct {
Radius float64
// Can be m, km, ft, or mi. Default is km.
Unit string
WithCoord bool
WithDist bool
WithGeoHash bool
Count int
// Can be ASC or DESC. Default is no sort order.
Sort string
Store string
StoreDist string
}
GeoRadiusQuery is used with GeoRadius to query geospatial index.
❖type IntCmd struct {
// contains filtered or unexported fields
}
NewIntResult returns an IntCmd initialised with val and err for testing.
❖func (cmd *IntCmd) Args() []interface{}
func (*IntCmd) Err ¶ Uses
❖func (cmd *IntCmd) Err() error
❖func (cmd *IntCmd) FullName() string
❖func (cmd *IntCmd) SetErr(e error)
func (*IntCmd) Val ¶ Uses
❖type IntSliceCmd struct {
// contains filtered or unexported fields
}
func (*IntSliceCmd) Args ¶ Uses
❖func (cmd *IntSliceCmd) Args() []interface{}
func (*IntSliceCmd) Err ¶ Uses
❖func (cmd *IntSliceCmd) Err() error
❖func (cmd *IntSliceCmd) FullName() string
func (*IntSliceCmd) Name ¶ Uses
❖func (cmd *IntSliceCmd) Name() string
❖func (cmd *IntSliceCmd) SetErr(e error)
func (*IntSliceCmd) Val ¶ Uses
❖type LPosArgs struct {
Rank, MaxLen int64
}
❖type Limiter interface {
// Allow returns nil if operation is allowed or an error otherwise.
// If operation is allowed client must ReportResult of the operation
// whether it is a success or a failure.
Allow() error
// ReportResult reports the result of the previously allowed operation.
// nil indicates a success, non-nil error usually indicates a failure.
ReportResult(result error)
}
Limiter is the interface of a rate limiter or a circuit breaker.
Message received as result of a PUBLISH command issued by another client.
❖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(ctx context.Context, network, addr string) (net.Conn, error)
// Hook that is called when new connection is established.
OnConnect func(ctx context.Context, cn *Conn) error
// Use the specified Username to authenticate the current connection
// with one of the connections defined in the ACL list when connecting
// to a Redis 6.0 instance, or greater, that is using the Redis ACL system.
Username string
// Optional password. Must match the password specified in the
// requirepass server configuration option (if connecting to a Redis 5.0 instance, or lower),
// or the User Password when connecting to a Redis 6.0 instance, or greater,
// that is using the Redis ACL system.
Password string
// Database to be selected after connecting to the server.
DB int
// Maximum number of retries before giving up.
// Default is 3 retries; -1 (not 0) disables retries.
MaxRetries int
// Minimum backoff between each retry.
// Default is 8 milliseconds; -1 disables backoff.
MinRetryBackoff time.Duration
// Maximum backoff between each retry.
// Default is 512 milliseconds; -1 disables backoff.
MaxRetryBackoff time.Duration
// Dial timeout for establishing new connections.
// Default is 5 seconds.
DialTimeout time.Duration
// Timeout for socket reads. If reached, commands will fail
// with a timeout instead of blocking. Use value -1 for no timeout and 0 for default.
// Default is 3 seconds.
ReadTimeout time.Duration
// Timeout for socket writes. If reached, commands will fail
// with a timeout instead of blocking.
// Default is ReadTimeout.
WriteTimeout time.Duration
// Maximum number of socket connections.
// Default is 10 connections per every CPU as reported by runtime.NumCPU.
PoolSize int
// Minimum number of idle connections which is useful when establishing
// new connection is slow.
MinIdleConns int
// Connection age at which client retires (closes) the connection.
// Default is to not close aged connections.
MaxConnAge time.Duration
// Amount of time client waits for connection if all connections
// are busy before returning an error.
// Default is ReadTimeout + 1 second.
PoolTimeout time.Duration
// Amount of time after which client closes idle connections.
// Should be less than server's timeout.
// Default is 5 minutes. -1 disables idle timeout check.
IdleTimeout time.Duration
// Frequency of idle checks made by idle connections reaper.
// Default is 1 minute. -1 disables idle connections reaper,
// but idle connections are still discarded by the client
// if IdleTimeout is set.
IdleCheckFrequency time.Duration
// TLS Config to use. When set TLS will be negotiated.
TLSConfig *tls.Config
// Limiter interface used to implemented circuit breaker or rate limiter.
Limiter Limiter
// contains filtered or unexported fields
}
Options keeps the settings to setup redis connection.
ParseURL parses an URL into Options that can be used to connect to Redis.
Scheme is required.
There are two connection types: by tcp socket and by unix socket.
Tcp connection:
redis://<user>:<password>@<host>:<port>/<db_number>
Unix connection:
unix://<user>:<password>@</path/to/redis.sock>?db=<db_number>
Code:
opt, err := redis.ParseURL("redis://:qwerty@localhost:6379/1")
if err != nil {
panic(err)
}
fmt.Println("addr is", opt.Addr)
fmt.Println("db is", opt.DB)
fmt.Println("password is", opt.Password)
// Create client as usually.
_ = redis.NewClient(opt)
Output:
addr is localhost:6379
db is 1
password is qwerty
❖type Pipeline struct {
// contains filtered or unexported fields
}
Pipeline implements pipelining as described in
http://redis.io/topics/pipelining. It's safe for concurrent use
by multiple goroutines.
Code:
rdb := redis.NewClient(&redis.Options{
Addr: ":6379",
})
rdb.AddHook(redisHook{})
rdb.Pipelined(ctx, func(pipe redis.Pipeliner) error {
pipe.Ping(ctx)
pipe.Ping(ctx)
return nil
})
Output:
pipeline starting processing: [ping: ping: ]
pipeline finished processing: [ping: PONG ping: PONG]
Perform an AUTH command, using the given user and pass.
Should be used to authenticate the current connection with one of the connections defined in the ACL list
when connecting to a Redis 6.0 instance, or greater, that is using the Redis ACL system.
Redis `BZPOPMAX key [key ...] timeout` command.
Redis `BZPOPMIN key [key ...] timeout` command.
ClientGetName returns the name of the connection.
ClientKillByFilter is new style syntax, while the ClientKill is old
CLIENT KILL <option> [value] ... <option> [value]
ClientSetName assigns a name to the connection.
Close closes the pipeline, releasing any open resources.
func (Pipeline) Del ¶ Uses
Discard resets the pipeline and discards queued commands.
func (*Pipeline) Do ¶ Uses
func (*Pipeline) Exec ¶ Uses
Exec executes all previously queued commands using one
client-server roundtrip.
Exec always returns list of commands and error of the first failed
command if any.
GeoRadius is a read-only GEORADIUS_RO command.
GeoRadius is a read-only GEORADIUSBYMEMBER_RO command.
GeoRadiusByMemberStore is a writing GEORADIUSBYMEMBER command.
GeoRadiusStore is a writing GEORADIUS command.
func (Pipeline) Get ¶ Uses
Redis `GET key` command. It returns redis.Nil error when key does not exist.
HMGet returns the values for the specified fields in the hash stored at key.
It returns an interface{} to distinguish between empty string and nil value.
HMSet is a deprecated version of HSet left for compatibility with Redis 3.
HSet accepts values in following formats:
- HSet("myhash", "key1", "value1", "key2", "value2")
- HSet("myhash", []string{"key1", "value1", "key2", "value2"})
- HSet("myhash", map[string]interface{}{"key1": "value1", "key2": "value2"})
Note that it requires Redis v4 for multiple field/value pairs support.
MSet is like Set but accepts multiple values:
- MSet("key1", "value1", "key2", "value2")
- MSet([]string{"key1", "value1", "key2", "value2"})
- MSet(map[string]interface{}{"key1": "value1", "key2": "value2"})
MSetNX is like SetNX but accepts multiple values:
- MSetNX("key1", "value1", "key2", "value2")
- MSetNX([]string{"key1", "value1", "key2", "value2"})
- MSetNX(map[string]interface{}{"key1": "value1", "key2": "value2"})
Process queues the cmd for later execution.
Publish posts the message to the channel.
Redis `SMEMBERS key` command output as a slice.
Redis `SMEMBERS key` command output as a map.
Redis `SPOP key` command.
Redis `SPOP key count` command.
Redis `SRANDMEMBER key` command.
Redis `SRANDMEMBER key count` command.
func (Pipeline) Set ¶ Uses
Redis `SET key value [expiration]` command.
Use expiration for `SETEX`-like behavior.
Zero expiration means the key has no expiration time.
KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL.
Redis `SETEX key expiration value` command.
Redis `SET key value [expiration] NX` command.
Zero expiration means the key has no expiration time.
KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL.
Redis `SET key value [expiration] XX` command.
Zero expiration means the key has no expiration time.
KeepTTL(-1) expiration is a Redis KEEPTTL option to keep existing TTL.
func (Pipeline) TTL ¶ Uses
func (Pipeline) Touch ¶