Documentation
¶
Overview ¶
Package redis implements a Redis client.
Index ¶
- Constants
- Variables
- func HasErrorPrefix(err error, prefix string) bool
- func NewDialer(opt *Options) func(context.Context, string, string) (net.Conn, error)
- func SetLogger(logger internal.Logging)
- func Version() string
- type BitCount
- type BoolCmd
- func (cmd *BoolCmd) Args() []interface{}
- func (cmd *BoolCmd) Err() error
- func (cmd *BoolCmd) FullName() string
- func (cmd *BoolCmd) Name() string
- func (cmd *BoolCmd) Result() (bool, error)
- func (cmd *BoolCmd) SetErr(e error)
- func (cmd *BoolCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *BoolCmd) SetVal(val bool)
- func (cmd *BoolCmd) String() string
- func (cmd *BoolCmd) Val() bool
- type BoolSliceCmd
- func (cmd *BoolSliceCmd) Args() []interface{}
- func (cmd *BoolSliceCmd) Err() error
- func (cmd *BoolSliceCmd) FullName() string
- func (cmd *BoolSliceCmd) Name() string
- func (cmd *BoolSliceCmd) Result() ([]bool, error)
- func (cmd *BoolSliceCmd) SetErr(e error)
- func (cmd *BoolSliceCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *BoolSliceCmd) SetVal(val []bool)
- func (cmd *BoolSliceCmd) String() string
- func (cmd *BoolSliceCmd) Val() []bool
- type ChannelOption
- type Client
- func (hs *Client) AddHook(hook Hook)
- func (c Client) Append(ctx context.Context, key, value string) *IntCmd
- func (c Client) BLMove(ctx context.Context, source, destination, srcpos, destpos string, ...) *StringCmd
- 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) ClientUnpause(ctx context.Context) *BoolCmd
- 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) *MapStringStringCmd
- 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() *Conn
- func (c Client) Copy(ctx context.Context, sourceKey, destKey string, db int, replace bool) *IntCmd
- 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) EvalRO(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) EvalShaRO(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) ExpireGT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Client) ExpireLT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Client) ExpireNX(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Client) ExpireXX(ctx context.Context, key string, expiration time.Duration) *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, ...) *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, ...) *IntCmd
- func (c Client) GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
- func (c Client) GeoSearchLocation(ctx context.Context, key string, q *GeoSearchLocationQuery) *GeoSearchLocationCmd
- func (c Client) GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *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) GetDel(ctx context.Context, key string) *StringCmd
- func (c Client) GetEx(ctx context.Context, key string, expiration time.Duration) *StringCmd
- 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) *MapStringStringCmd
- 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) HRandField(ctx context.Context, key string, count int) *StringSliceCmd
- func (c Client) HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
- 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, sections ...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) LMove(ctx context.Context, source, destination, srcpos, destpos string) *StringCmd
- func (c Client) LPop(ctx context.Context, key string) *StringCmd
- func (c Client) LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
- 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) *MapStringIntCmd
- func (c Client) PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
- func (c Client) PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
- func (c Client) Publish(ctx context.Context, channel string, message interface{}) *IntCmd
- func (c Client) Quit(_ context.Context) *StatusCmd
- func (c Client) RPop(ctx context.Context, key string) *StringCmd
- func (c Client) RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
- 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) SInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
- 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) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
- 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) SPublish(ctx context.Context, channel string, message interface{}) *IntCmd
- 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) SSubscribe(ctx context.Context, channels ...string) *PubSub
- 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) SetArgs(ctx context.Context, key string, value interface{}, a SetArgs) *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) SortRO(ctx context.Context, key string, sort *Sort) *StringSliceCmd
- 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(_ 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) 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) XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
- func (c Client) XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
- 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) XGroupCreateConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
- 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) XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
- func (c Client) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
- func (c Client) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
- func (c Client) XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
- 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) XTrimMaxLen(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Client) XTrimMaxLenApprox(ctx context.Context, key string, maxLen, limit int64) *IntCmd
- func (c Client) XTrimMinID(ctx context.Context, key string, minID string) *IntCmd
- func (c Client) XTrimMinIDApprox(ctx context.Context, key string, minID string, limit int64) *IntCmd
- func (c Client) ZAdd(ctx context.Context, key string, members ...Z) *IntCmd
- func (c Client) ZAddArgs(ctx context.Context, key string, args ZAddArgs) *IntCmd
- func (c Client) ZAddArgsIncr(ctx context.Context, key string, args ZAddArgs) *FloatCmd
- func (c Client) ZAddNX(ctx context.Context, key string, members ...Z) *IntCmd
- func (c Client) ZAddXX(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) ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Client) ZDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Client) ZDiffWithScores(ctx context.Context, keys ...string) *ZSliceCmd
- func (c Client) ZIncrBy(ctx context.Context, key string, increment float64, member string) *FloatCmd
- func (c Client) ZInter(ctx context.Context, store *ZStore) *StringSliceCmd
- func (c Client) ZInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
- func (c Client) ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
- func (c Client) ZInterWithScores(ctx context.Context, store *ZStore) *ZSliceCmd
- func (c Client) ZLexCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Client) ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
- 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) ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
- func (c Client) ZRandMemberWithScores(ctx context.Context, key string, count int) *ZSliceCmd
- func (c Client) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Client) ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
- func (c Client) ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
- 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) ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
- 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) ZUnion(ctx context.Context, store ZStore) *StringSliceCmd
- func (c Client) ZUnionStore(ctx context.Context, dest string, store *ZStore) *IntCmd
- func (c Client) ZUnionWithScores(ctx context.Context, store ZStore) *ZSliceCmd
- type ClusterClient
- func (hs *ClusterClient) AddHook(hook Hook)
- func (c ClusterClient) Append(ctx context.Context, key, value string) *IntCmd
- func (c ClusterClient) BLMove(ctx context.Context, source, destination, srcpos, destpos string, ...) *StringCmd
- 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) ClientUnpause(ctx context.Context) *BoolCmd
- 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) *MapStringStringCmd
- 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) Copy(ctx context.Context, sourceKey, destKey string, db int, replace bool) *IntCmd
- 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) EvalRO(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) EvalShaRO(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) ExpireGT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c ClusterClient) ExpireLT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c ClusterClient) ExpireNX(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c ClusterClient) ExpireXX(ctx context.Context, key string, expiration time.Duration) *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, ...) *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, ...) *IntCmd
- func (c ClusterClient) GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
- func (c ClusterClient) GeoSearchLocation(ctx context.Context, key string, q *GeoSearchLocationQuery) *GeoSearchLocationCmd
- func (c ClusterClient) GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *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) GetDel(ctx context.Context, key string) *StringCmd
- func (c ClusterClient) GetEx(ctx context.Context, key string, expiration time.Duration) *StringCmd
- 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) *MapStringStringCmd
- 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) HRandField(ctx context.Context, key string, count int) *StringSliceCmd
- func (c ClusterClient) HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
- 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, sections ...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) LMove(ctx context.Context, source, destination, srcpos, destpos string) *StringCmd
- func (c ClusterClient) LPop(ctx context.Context, key string) *StringCmd
- func (c ClusterClient) LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
- 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) OnNewNode(fn func(rdb *Client))
- 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) *MapStringIntCmd
- func (c ClusterClient) PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
- func (c ClusterClient) PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
- func (c ClusterClient) Publish(ctx context.Context, channel string, message interface{}) *IntCmd
- func (c ClusterClient) Quit(_ context.Context) *StatusCmd
- func (c ClusterClient) RPop(ctx context.Context, key string) *StringCmd
- func (c ClusterClient) RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
- 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) SInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
- 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) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
- 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) SPublish(ctx context.Context, channel string, message interface{}) *IntCmd
- 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) SSubscribe(ctx context.Context, channels ...string) *PubSub
- 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) SetArgs(ctx context.Context, key string, value interface{}, a SetArgs) *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) SortRO(ctx context.Context, key string, sort *Sort) *StringSliceCmd
- 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(_ 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) XAck(ctx context.Context, stream, group string, ids ...string) *IntCmd
- func (c ClusterClient) XAdd(ctx context.Context, a *XAddArgs) *StringCmd
- func (c ClusterClient) XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
- func (c ClusterClient) XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
- 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) XGroupCreateConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
- 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) XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
- func (c ClusterClient) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
- func (c ClusterClient) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
- func (c ClusterClient) XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
- 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) XTrimMaxLen(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c ClusterClient) XTrimMaxLenApprox(ctx context.Context, key string, maxLen, limit int64) *IntCmd
- func (c ClusterClient) XTrimMinID(ctx context.Context, key string, minID string) *IntCmd
- func (c ClusterClient) XTrimMinIDApprox(ctx context.Context, key string, minID string, limit int64) *IntCmd
- func (c ClusterClient) ZAdd(ctx context.Context, key string, members ...Z) *IntCmd
- func (c ClusterClient) ZAddArgs(ctx context.Context, key string, args ZAddArgs) *IntCmd
- func (c ClusterClient) ZAddArgsIncr(ctx context.Context, key string, args ZAddArgs) *FloatCmd
- func (c ClusterClient) ZAddNX(ctx context.Context, key string, members ...Z) *IntCmd
- func (c ClusterClient) ZAddXX(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) ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
- func (c ClusterClient) ZDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c ClusterClient) ZDiffWithScores(ctx context.Context, keys ...string) *ZSliceCmd
- func (c ClusterClient) ZIncrBy(ctx context.Context, key string, increment float64, member string) *FloatCmd
- func (c ClusterClient) ZInter(ctx context.Context, store *ZStore) *StringSliceCmd
- func (c ClusterClient) ZInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
- func (c ClusterClient) ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
- func (c ClusterClient) ZInterWithScores(ctx context.Context, store *ZStore) *ZSliceCmd
- func (c ClusterClient) ZLexCount(ctx context.Context, key, min, max string) *IntCmd
- func (c ClusterClient) ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
- 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) ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
- func (c ClusterClient) ZRandMemberWithScores(ctx context.Context, key string, count int) *ZSliceCmd
- func (c ClusterClient) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c ClusterClient) ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
- func (c ClusterClient) ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
- 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) ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
- 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) ZUnion(ctx context.Context, store ZStore) *StringSliceCmd
- func (c ClusterClient) ZUnionStore(ctx context.Context, dest string, store *ZStore) *IntCmd
- func (c ClusterClient) ZUnionWithScores(ctx context.Context, store ZStore) *ZSliceCmd
- type ClusterNode
- type ClusterOptions
- type ClusterSlot
- type ClusterSlotsCmd
- func (cmd *ClusterSlotsCmd) Args() []interface{}
- func (cmd *ClusterSlotsCmd) Err() error
- func (cmd *ClusterSlotsCmd) FullName() string
- func (cmd *ClusterSlotsCmd) Name() string
- func (cmd *ClusterSlotsCmd) Result() ([]ClusterSlot, error)
- func (cmd *ClusterSlotsCmd) SetErr(e error)
- func (cmd *ClusterSlotsCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *ClusterSlotsCmd) SetVal(val []ClusterSlot)
- func (cmd *ClusterSlotsCmd) String() string
- func (cmd *ClusterSlotsCmd) Val() []ClusterSlot
- type Cmd
- func (cmd *Cmd) Args() []interface{}
- func (cmd *Cmd) Bool() (bool, error)
- func (cmd *Cmd) BoolSlice() ([]bool, error)
- func (cmd *Cmd) Err() error
- func (cmd *Cmd) Float32() (float32, error)
- func (cmd *Cmd) Float32Slice() ([]float32, error)
- func (cmd *Cmd) Float64() (float64, error)
- func (cmd *Cmd) Float64Slice() ([]float64, error)
- func (cmd *Cmd) FullName() string
- func (cmd *Cmd) Int() (int, error)
- func (cmd *Cmd) Int64() (int64, error)
- func (cmd *Cmd) Int64Slice() ([]int64, error)
- func (cmd *Cmd) Name() string
- func (cmd *Cmd) Result() (interface{}, error)
- func (cmd *Cmd) SetErr(e error)
- func (cmd *Cmd) SetFirstKeyPos(keyPos int8)
- func (cmd *Cmd) SetVal(val interface{})
- func (cmd *Cmd) Slice() ([]interface{}, error)
- func (cmd *Cmd) String() string
- func (cmd *Cmd) StringSlice() ([]string, error)
- func (cmd *Cmd) Text() (string, error)
- func (cmd *Cmd) Uint64() (uint64, error)
- func (cmd *Cmd) Uint64Slice() ([]uint64, error)
- func (cmd *Cmd) Val() interface{}
- type Cmdable
- type Cmder
- type CommandInfo
- type CommandsInfoCmd
- func (cmd *CommandsInfoCmd) Args() []interface{}
- func (cmd *CommandsInfoCmd) Err() error
- func (cmd *CommandsInfoCmd) FullName() string
- func (cmd *CommandsInfoCmd) Name() string
- func (cmd *CommandsInfoCmd) Result() (map[string]*CommandInfo, error)
- func (cmd *CommandsInfoCmd) SetErr(e error)
- func (cmd *CommandsInfoCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *CommandsInfoCmd) SetVal(val map[string]*CommandInfo)
- func (cmd *CommandsInfoCmd) String() string
- func (cmd *CommandsInfoCmd) Val() map[string]*CommandInfo
- type Conn
- func (hs *Conn) AddHook(hook Hook)
- func (c Conn) Append(ctx context.Context, key, value string) *IntCmd
- func (c Conn) Auth(ctx context.Context, password string) *StatusCmd
- func (c Conn) AuthACL(ctx context.Context, username, password string) *StatusCmd
- func (c Conn) BLMove(ctx context.Context, source, destination, srcpos, destpos string, ...) *StringCmd
- func (c Conn) BLPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
- func (c Conn) BRPop(ctx context.Context, timeout time.Duration, keys ...string) *StringSliceCmd
- func (c Conn) BRPopLPush(ctx context.Context, source, destination string, timeout time.Duration) *StringCmd
- func (c Conn) BZPopMax(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
- func (c Conn) BZPopMin(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
- func (c Conn) BgRewriteAOF(ctx context.Context) *StatusCmd
- func (c Conn) BgSave(ctx context.Context) *StatusCmd
- func (c Conn) BitCount(ctx context.Context, key string, bitCount *BitCount) *IntCmd
- func (c Conn) BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
- func (c Conn) BitOpAnd(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Conn) BitOpNot(ctx context.Context, destKey string, key string) *IntCmd
- func (c Conn) BitOpOr(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Conn) BitOpXor(ctx context.Context, destKey string, keys ...string) *IntCmd
- func (c Conn) BitPos(ctx context.Context, key string, bit int64, pos ...int64) *IntCmd
- func (c Conn) ClientGetName(ctx context.Context) *StringCmd
- func (c Conn) ClientID(ctx context.Context) *IntCmd
- func (c Conn) ClientKill(ctx context.Context, ipPort string) *StatusCmd
- func (c Conn) ClientKillByFilter(ctx context.Context, keys ...string) *IntCmd
- func (c Conn) ClientList(ctx context.Context) *StringCmd
- func (c Conn) ClientPause(ctx context.Context, dur time.Duration) *BoolCmd
- func (c Conn) ClientSetName(ctx context.Context, name string) *BoolCmd
- func (c Conn) ClientUnblock(ctx context.Context, id int64) *IntCmd
- func (c Conn) ClientUnblockWithError(ctx context.Context, id int64) *IntCmd
- func (c Conn) ClientUnpause(ctx context.Context) *BoolCmd
- func (c *Conn) Close() error
- func (c Conn) ClusterAddSlots(ctx context.Context, slots ...int) *StatusCmd
- func (c Conn) ClusterAddSlotsRange(ctx context.Context, min, max int) *StatusCmd
- func (c Conn) ClusterCountFailureReports(ctx context.Context, nodeID string) *IntCmd
- func (c Conn) ClusterCountKeysInSlot(ctx context.Context, slot int) *IntCmd
- func (c Conn) ClusterDelSlots(ctx context.Context, slots ...int) *StatusCmd
- func (c Conn) ClusterDelSlotsRange(ctx context.Context, min, max int) *StatusCmd
- func (c Conn) ClusterFailover(ctx context.Context) *StatusCmd
- func (c Conn) ClusterForget(ctx context.Context, nodeID string) *StatusCmd
- func (c Conn) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
- func (c Conn) ClusterInfo(ctx context.Context) *StringCmd
- func (c Conn) ClusterKeySlot(ctx context.Context, key string) *IntCmd
- func (c Conn) ClusterMeet(ctx context.Context, host, port string) *StatusCmd
- func (c Conn) ClusterNodes(ctx context.Context) *StringCmd
- func (c Conn) ClusterReplicate(ctx context.Context, nodeID string) *StatusCmd
- func (c Conn) ClusterResetHard(ctx context.Context) *StatusCmd
- func (c Conn) ClusterResetSoft(ctx context.Context) *StatusCmd
- func (c Conn) ClusterSaveConfig(ctx context.Context) *StatusCmd
- func (c Conn) ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
- func (c Conn) ClusterSlots(ctx context.Context) *ClusterSlotsCmd
- func (c Conn) Command(ctx context.Context) *CommandsInfoCmd
- func (c Conn) ConfigGet(ctx context.Context, parameter string) *MapStringStringCmd
- func (c Conn) ConfigResetStat(ctx context.Context) *StatusCmd
- func (c Conn) ConfigRewrite(ctx context.Context) *StatusCmd
- func (c Conn) ConfigSet(ctx context.Context, parameter, value string) *StatusCmd
- func (c Conn) Copy(ctx context.Context, sourceKey, destKey string, db int, replace bool) *IntCmd
- func (c Conn) DBSize(ctx context.Context) *IntCmd
- func (c Conn) DebugObject(ctx context.Context, key string) *StringCmd
- func (c Conn) Decr(ctx context.Context, key string) *IntCmd
- func (c Conn) DecrBy(ctx context.Context, key string, decrement int64) *IntCmd
- func (c Conn) Del(ctx context.Context, keys ...string) *IntCmd
- func (c Conn) Dump(ctx context.Context, key string) *StringCmd
- func (c Conn) Echo(ctx context.Context, message interface{}) *StringCmd
- func (c Conn) Eval(ctx context.Context, script string, keys []string, args ...interface{}) *Cmd
- func (c Conn) EvalRO(ctx context.Context, script string, keys []string, args ...interface{}) *Cmd
- func (c Conn) EvalSha(ctx context.Context, sha1 string, keys []string, args ...interface{}) *Cmd
- func (c Conn) EvalShaRO(ctx context.Context, sha1 string, keys []string, args ...interface{}) *Cmd
- func (c Conn) Exists(ctx context.Context, keys ...string) *IntCmd
- func (c Conn) Expire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Conn) ExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
- func (c Conn) ExpireGT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Conn) ExpireLT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Conn) ExpireNX(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Conn) ExpireXX(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Conn) FlushAll(ctx context.Context) *StatusCmd
- func (c Conn) FlushAllAsync(ctx context.Context) *StatusCmd
- func (c Conn) FlushDB(ctx context.Context) *StatusCmd
- func (c Conn) FlushDBAsync(ctx context.Context) *StatusCmd
- func (c Conn) GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
- func (c Conn) GeoDist(ctx context.Context, key string, member1, member2, unit string) *FloatCmd
- func (c Conn) GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
- func (c Conn) GeoPos(ctx context.Context, key string, members ...string) *GeoPosCmd
- func (c Conn) GeoRadius(ctx context.Context, key string, longitude, latitude float64, ...) *GeoLocationCmd
- func (c Conn) GeoRadiusByMember(ctx context.Context, key, member string, query *GeoRadiusQuery) *GeoLocationCmd
- func (c Conn) GeoRadiusByMemberStore(ctx context.Context, key, member string, query *GeoRadiusQuery) *IntCmd
- func (c Conn) GeoRadiusStore(ctx context.Context, key string, longitude, latitude float64, ...) *IntCmd
- func (c Conn) GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
- func (c Conn) GeoSearchLocation(ctx context.Context, key string, q *GeoSearchLocationQuery) *GeoSearchLocationCmd
- func (c Conn) GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *IntCmd
- func (c Conn) Get(ctx context.Context, key string) *StringCmd
- func (c Conn) GetBit(ctx context.Context, key string, offset int64) *IntCmd
- func (c Conn) GetDel(ctx context.Context, key string) *StringCmd
- func (c Conn) GetEx(ctx context.Context, key string, expiration time.Duration) *StringCmd
- func (c Conn) GetRange(ctx context.Context, key string, start, end int64) *StringCmd
- func (c Conn) GetSet(ctx context.Context, key string, value interface{}) *StringCmd
- func (c Conn) HDel(ctx context.Context, key string, fields ...string) *IntCmd
- func (c Conn) HExists(ctx context.Context, key, field string) *BoolCmd
- func (c Conn) HGet(ctx context.Context, key, field string) *StringCmd
- func (c Conn) HGetAll(ctx context.Context, key string) *MapStringStringCmd
- func (c Conn) HIncrBy(ctx context.Context, key, field string, incr int64) *IntCmd
- func (c Conn) HIncrByFloat(ctx context.Context, key, field string, incr float64) *FloatCmd
- func (c Conn) HKeys(ctx context.Context, key string) *StringSliceCmd
- func (c Conn) HLen(ctx context.Context, key string) *IntCmd
- func (c Conn) HMGet(ctx context.Context, key string, fields ...string) *SliceCmd
- func (c Conn) HMSet(ctx context.Context, key string, values ...interface{}) *BoolCmd
- func (c Conn) HRandField(ctx context.Context, key string, count int) *StringSliceCmd
- func (c Conn) HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
- func (c Conn) HScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Conn) HSet(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Conn) HSetNX(ctx context.Context, key, field string, value interface{}) *BoolCmd
- func (c Conn) HVals(ctx context.Context, key string) *StringSliceCmd
- func (c Conn) Hello(ctx context.Context, ver int, username, password, clientName string) *MapStringInterfaceCmd
- func (c Conn) Incr(ctx context.Context, key string) *IntCmd
- func (c Conn) IncrBy(ctx context.Context, key string, value int64) *IntCmd
- func (c Conn) IncrByFloat(ctx context.Context, key string, value float64) *FloatCmd
- func (c Conn) Info(ctx context.Context, sections ...string) *StringCmd
- func (c Conn) Keys(ctx context.Context, pattern string) *StringSliceCmd
- func (c Conn) LIndex(ctx context.Context, key string, index int64) *StringCmd
- func (c Conn) LInsert(ctx context.Context, key, op string, pivot, value interface{}) *IntCmd
- func (c Conn) LInsertAfter(ctx context.Context, key string, pivot, value interface{}) *IntCmd
- func (c Conn) LInsertBefore(ctx context.Context, key string, pivot, value interface{}) *IntCmd
- func (c Conn) LLen(ctx context.Context, key string) *IntCmd
- func (c Conn) LMove(ctx context.Context, source, destination, srcpos, destpos string) *StringCmd
- func (c Conn) LPop(ctx context.Context, key string) *StringCmd
- func (c Conn) LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
- func (c Conn) LPos(ctx context.Context, key string, value string, a LPosArgs) *IntCmd
- func (c Conn) LPosCount(ctx context.Context, key string, value string, count int64, a LPosArgs) *IntSliceCmd
- func (c Conn) LPush(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Conn) LPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Conn) LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Conn) LRem(ctx context.Context, key string, count int64, value interface{}) *IntCmd
- func (c Conn) LSet(ctx context.Context, key string, index int64, value interface{}) *StatusCmd
- func (c Conn) LTrim(ctx context.Context, key string, start, stop int64) *StatusCmd
- func (c Conn) LastSave(ctx context.Context) *IntCmd
- func (c Conn) MGet(ctx context.Context, keys ...string) *SliceCmd
- func (c Conn) MSet(ctx context.Context, values ...interface{}) *StatusCmd
- func (c Conn) MSetNX(ctx context.Context, values ...interface{}) *BoolCmd
- func (c Conn) MemoryUsage(ctx context.Context, key string, samples ...int) *IntCmd
- func (c Conn) Migrate(ctx context.Context, host, port, key string, db int, timeout time.Duration) *StatusCmd
- func (c Conn) Move(ctx context.Context, key string, db int) *BoolCmd
- func (c Conn) ObjectEncoding(ctx context.Context, key string) *StringCmd
- func (c Conn) ObjectIdleTime(ctx context.Context, key string) *DurationCmd
- func (c Conn) ObjectRefCount(ctx context.Context, key string) *IntCmd
- func (c Conn) PExpire(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Conn) PExpireAt(ctx context.Context, key string, tm time.Time) *BoolCmd
- func (c Conn) PFAdd(ctx context.Context, key string, els ...interface{}) *IntCmd
- func (c Conn) PFCount(ctx context.Context, keys ...string) *IntCmd
- func (c Conn) PFMerge(ctx context.Context, dest string, keys ...string) *StatusCmd
- func (c Conn) PTTL(ctx context.Context, key string) *DurationCmd
- func (c Conn) Persist(ctx context.Context, key string) *BoolCmd
- func (c Conn) Ping(ctx context.Context) *StatusCmd
- func (c *Conn) Pipeline() Pipeliner
- func (c *Conn) Pipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
- func (c *Conn) Process(ctx context.Context, cmd Cmder) error
- func (c Conn) PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
- func (c Conn) PubSubNumPat(ctx context.Context) *IntCmd
- func (c Conn) PubSubNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
- func (c Conn) PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
- func (c Conn) PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
- func (c Conn) Publish(ctx context.Context, channel string, message interface{}) *IntCmd
- func (c Conn) Quit(_ context.Context) *StatusCmd
- func (c Conn) RPop(ctx context.Context, key string) *StringCmd
- func (c Conn) RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
- func (c Conn) RPopLPush(ctx context.Context, source, destination string) *StringCmd
- func (c Conn) RPush(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Conn) RPushX(ctx context.Context, key string, values ...interface{}) *IntCmd
- func (c Conn) RandomKey(ctx context.Context) *StringCmd
- func (c Conn) ReadOnly(ctx context.Context) *StatusCmd
- func (c Conn) ReadWrite(ctx context.Context) *StatusCmd
- func (c Conn) Rename(ctx context.Context, key, newkey string) *StatusCmd
- func (c Conn) RenameNX(ctx context.Context, key, newkey string) *BoolCmd
- func (c Conn) Restore(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
- func (c Conn) RestoreReplace(ctx context.Context, key string, ttl time.Duration, value string) *StatusCmd
- func (c Conn) SAdd(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Conn) SCard(ctx context.Context, key string) *IntCmd
- func (c Conn) SDiff(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Conn) SDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Conn) SInter(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Conn) SInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
- func (c Conn) SInterStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Conn) SIsMember(ctx context.Context, key string, member interface{}) *BoolCmd
- func (c Conn) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
- func (c Conn) SMembers(ctx context.Context, key string) *StringSliceCmd
- func (c Conn) SMembersMap(ctx context.Context, key string) *StringStructMapCmd
- func (c Conn) SMove(ctx context.Context, source, destination string, member interface{}) *BoolCmd
- func (c Conn) SPop(ctx context.Context, key string) *StringCmd
- func (c Conn) SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
- func (c Conn) SPublish(ctx context.Context, channel string, message interface{}) *IntCmd
- func (c Conn) SRandMember(ctx context.Context, key string) *StringCmd
- func (c Conn) SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
- func (c Conn) SRem(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Conn) SScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Conn) SUnion(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Conn) SUnionStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Conn) Save(ctx context.Context) *StatusCmd
- func (c Conn) Scan(ctx context.Context, cursor uint64, match string, count int64) *ScanCmd
- func (c Conn) ScanType(ctx context.Context, cursor uint64, match string, count int64, keyType string) *ScanCmd
- func (c Conn) ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
- func (c Conn) ScriptFlush(ctx context.Context) *StatusCmd
- func (c Conn) ScriptKill(ctx context.Context) *StatusCmd
- func (c Conn) ScriptLoad(ctx context.Context, script string) *StringCmd
- func (c Conn) Select(ctx context.Context, index int) *StatusCmd
- func (c Conn) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
- func (c Conn) SetArgs(ctx context.Context, key string, value interface{}, a SetArgs) *StatusCmd
- func (c Conn) SetBit(ctx context.Context, key string, offset int64, value int) *IntCmd
- func (c Conn) SetEx(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
- func (c Conn) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
- func (c Conn) SetRange(ctx context.Context, key string, offset int64, value string) *IntCmd
- func (c Conn) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
- func (c Conn) Shutdown(ctx context.Context) *StatusCmd
- func (c Conn) ShutdownNoSave(ctx context.Context) *StatusCmd
- func (c Conn) ShutdownSave(ctx context.Context) *StatusCmd
- func (c Conn) SlaveOf(ctx context.Context, host, port string) *StatusCmd
- func (c Conn) SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
- func (c Conn) Sort(ctx context.Context, key string, sort *Sort) *StringSliceCmd
- func (c Conn) SortInterfaces(ctx context.Context, key string, sort *Sort) *SliceCmd
- func (c Conn) SortRO(ctx context.Context, key string, sort *Sort) *StringSliceCmd
- func (c Conn) SortStore(ctx context.Context, key, store string, sort *Sort) *IntCmd
- func (c Conn) StrLen(ctx context.Context, key string) *IntCmd
- func (c *Conn) String() string
- func (c Conn) SwapDB(ctx context.Context, index1, index2 int) *StatusCmd
- func (c Conn) Sync(_ context.Context)
- func (c Conn) TTL(ctx context.Context, key string) *DurationCmd
- func (c Conn) Time(ctx context.Context) *TimeCmd
- func (c Conn) Touch(ctx context.Context, keys ...string) *IntCmd
- func (c *Conn) TxPipeline() Pipeliner
- func (c *Conn) TxPipelined(ctx context.Context, fn func(Pipeliner) error) ([]Cmder, error)
- func (c Conn) Type(ctx context.Context, key string) *StatusCmd
- func (c Conn) Unlink(ctx context.Context, keys ...string) *IntCmd
- func (c Conn) Wait(ctx context.Context, numSlaves int, timeout time.Duration) *IntCmd
- func (c Conn) XAck(ctx context.Context, stream, group string, ids ...string) *IntCmd
- func (c Conn) XAdd(ctx context.Context, a *XAddArgs) *StringCmd
- func (c Conn) XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
- func (c Conn) XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
- func (c Conn) XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
- func (c Conn) XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
- func (c Conn) XDel(ctx context.Context, stream string, ids ...string) *IntCmd
- func (c Conn) XGroupCreate(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Conn) XGroupCreateConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
- func (c Conn) XGroupCreateMkStream(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Conn) XGroupDelConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
- func (c Conn) XGroupDestroy(ctx context.Context, stream, group string) *IntCmd
- func (c Conn) XGroupSetID(ctx context.Context, stream, group, start string) *StatusCmd
- func (c Conn) XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
- func (c Conn) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
- func (c Conn) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
- func (c Conn) XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
- func (c Conn) XLen(ctx context.Context, stream string) *IntCmd
- func (c Conn) XPending(ctx context.Context, stream, group string) *XPendingCmd
- func (c Conn) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
- func (c Conn) XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
- func (c Conn) XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
- func (c Conn) XRead(ctx context.Context, a *XReadArgs) *XStreamSliceCmd
- func (c Conn) XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
- func (c Conn) XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
- func (c Conn) XRevRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
- func (c Conn) XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
- func (c Conn) XTrimMaxLen(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Conn) XTrimMaxLenApprox(ctx context.Context, key string, maxLen, limit int64) *IntCmd
- func (c Conn) XTrimMinID(ctx context.Context, key string, minID string) *IntCmd
- func (c Conn) XTrimMinIDApprox(ctx context.Context, key string, minID string, limit int64) *IntCmd
- func (c Conn) ZAdd(ctx context.Context, key string, members ...Z) *IntCmd
- func (c Conn) ZAddArgs(ctx context.Context, key string, args ZAddArgs) *IntCmd
- func (c Conn) ZAddArgsIncr(ctx context.Context, key string, args ZAddArgs) *FloatCmd
- func (c Conn) ZAddNX(ctx context.Context, key string, members ...Z) *IntCmd
- func (c Conn) ZAddXX(ctx context.Context, key string, members ...Z) *IntCmd
- func (c Conn) ZCard(ctx context.Context, key string) *IntCmd
- func (c Conn) ZCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Conn) ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Conn) ZDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Conn) ZDiffWithScores(ctx context.Context, keys ...string) *ZSliceCmd
- func (c Conn) ZIncrBy(ctx context.Context, key string, increment float64, member string) *FloatCmd
- func (c Conn) ZInter(ctx context.Context, store *ZStore) *StringSliceCmd
- func (c Conn) ZInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
- func (c Conn) ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
- func (c Conn) ZInterWithScores(ctx context.Context, store *ZStore) *ZSliceCmd
- func (c Conn) ZLexCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Conn) ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
- func (c Conn) ZPopMax(ctx context.Context, key string, count ...int64) *ZSliceCmd
- func (c Conn) ZPopMin(ctx context.Context, key string, count ...int64) *ZSliceCmd
- func (c Conn) ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
- func (c Conn) ZRandMemberWithScores(ctx context.Context, key string, count int) *ZSliceCmd
- func (c Conn) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Conn) ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
- func (c Conn) ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
- func (c Conn) ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Conn) ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Conn) ZRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
- func (c Conn) ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
- func (c Conn) ZRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
- func (c Conn) ZRank(ctx context.Context, key, member string) *IntCmd
- func (c Conn) ZRem(ctx context.Context, key string, members ...interface{}) *IntCmd
- func (c Conn) ZRemRangeByLex(ctx context.Context, key, min, max string) *IntCmd
- func (c Conn) ZRemRangeByRank(ctx context.Context, key string, start, stop int64) *IntCmd
- func (c Conn) ZRemRangeByScore(ctx context.Context, key, min, max string) *IntCmd
- func (c Conn) ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Conn) ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Conn) ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
- func (c Conn) ZRevRangeByScoreWithScores(ctx context.Context, key string, opt *ZRangeBy) *ZSliceCmd
- func (c Conn) ZRevRangeWithScores(ctx context.Context, key string, start, stop int64) *ZSliceCmd
- func (c Conn) ZRevRank(ctx context.Context, key, member string) *IntCmd
- func (c Conn) ZScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd
- func (c Conn) ZScore(ctx context.Context, key, member string) *FloatCmd
- func (c Conn) ZUnion(ctx context.Context, store ZStore) *StringSliceCmd
- func (c Conn) ZUnionStore(ctx context.Context, dest string, store *ZStore) *IntCmd
- func (c Conn) ZUnionWithScores(ctx context.Context, store ZStore) *ZSliceCmd
- type ConsistentHash
- type DialHook
- type DurationCmd
- func (cmd *DurationCmd) Args() []interface{}
- func (cmd *DurationCmd) Err() error
- func (cmd *DurationCmd) FullName() string
- func (cmd *DurationCmd) Name() string
- func (cmd *DurationCmd) Result() (time.Duration, error)
- func (cmd *DurationCmd) SetErr(e error)
- func (cmd *DurationCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *DurationCmd) SetVal(val time.Duration)
- func (cmd *DurationCmd) String() string
- func (cmd *DurationCmd) Val() time.Duration
- type Error
- type FailoverOptions
- type FloatCmd
- func (cmd *FloatCmd) Args() []interface{}
- func (cmd *FloatCmd) Err() error
- func (cmd *FloatCmd) FullName() string
- func (cmd *FloatCmd) Name() string
- func (cmd *FloatCmd) Result() (float64, error)
- func (cmd *FloatCmd) SetErr(e error)
- func (cmd *FloatCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *FloatCmd) SetVal(val float64)
- func (cmd *FloatCmd) String() string
- func (cmd *FloatCmd) Val() float64
- type FloatSliceCmd
- func (cmd *FloatSliceCmd) Args() []interface{}
- func (cmd *FloatSliceCmd) Err() error
- func (cmd *FloatSliceCmd) FullName() string
- func (cmd *FloatSliceCmd) Name() string
- func (cmd *FloatSliceCmd) Result() ([]float64, error)
- func (cmd *FloatSliceCmd) SetErr(e error)
- func (cmd *FloatSliceCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *FloatSliceCmd) SetVal(val []float64)
- func (cmd *FloatSliceCmd) String() string
- func (cmd *FloatSliceCmd) Val() []float64
- type GeoLocation
- type GeoLocationCmd
- func (cmd *GeoLocationCmd) Args() []interface{}
- func (cmd *GeoLocationCmd) Err() error
- func (cmd *GeoLocationCmd) FullName() string
- func (cmd *GeoLocationCmd) Name() string
- func (cmd *GeoLocationCmd) Result() ([]GeoLocation, error)
- func (cmd *GeoLocationCmd) SetErr(e error)
- func (cmd *GeoLocationCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *GeoLocationCmd) SetVal(locations []GeoLocation)
- func (cmd *GeoLocationCmd) String() string
- func (cmd *GeoLocationCmd) Val() []GeoLocation
- type GeoPos
- type GeoPosCmd
- func (cmd *GeoPosCmd) Args() []interface{}
- func (cmd *GeoPosCmd) Err() error
- func (cmd *GeoPosCmd) FullName() string
- func (cmd *GeoPosCmd) Name() string
- func (cmd *GeoPosCmd) Result() ([]*GeoPos, error)
- func (cmd *GeoPosCmd) SetErr(e error)
- func (cmd *GeoPosCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *GeoPosCmd) SetVal(val []*GeoPos)
- func (cmd *GeoPosCmd) String() string
- func (cmd *GeoPosCmd) Val() []*GeoPos
- type GeoRadiusQuery
- type GeoSearchLocationCmd
- func (cmd *GeoSearchLocationCmd) Args() []interface{}
- func (cmd *GeoSearchLocationCmd) Err() error
- func (cmd *GeoSearchLocationCmd) FullName() string
- func (cmd *GeoSearchLocationCmd) Name() string
- func (cmd *GeoSearchLocationCmd) Result() ([]GeoLocation, error)
- func (cmd *GeoSearchLocationCmd) SetErr(e error)
- func (cmd *GeoSearchLocationCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *GeoSearchLocationCmd) SetVal(val []GeoLocation)
- func (cmd *GeoSearchLocationCmd) String() string
- func (cmd *GeoSearchLocationCmd) Val() []GeoLocation
- type GeoSearchLocationQuery
- type GeoSearchQuery
- type GeoSearchStoreQuery
- type Hook
- type IntCmd
- func (cmd *IntCmd) Args() []interface{}
- func (cmd *IntCmd) Err() error
- func (cmd *IntCmd) FullName() string
- func (cmd *IntCmd) Name() string
- func (cmd *IntCmd) Result() (int64, error)
- func (cmd *IntCmd) SetErr(e error)
- func (cmd *IntCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *IntCmd) SetVal(val int64)
- func (cmd *IntCmd) String() string
- func (cmd *IntCmd) Uint64() (uint64, error)
- func (cmd *IntCmd) Val() int64
- type IntSliceCmd
- func (cmd *IntSliceCmd) Args() []interface{}
- func (cmd *IntSliceCmd) Err() error
- func (cmd *IntSliceCmd) FullName() string
- func (cmd *IntSliceCmd) Name() string
- func (cmd *IntSliceCmd) Result() ([]int64, error)
- func (cmd *IntSliceCmd) SetErr(e error)
- func (cmd *IntSliceCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *IntSliceCmd) SetVal(val []int64)
- func (cmd *IntSliceCmd) String() string
- func (cmd *IntSliceCmd) Val() []int64
- type KeyValue
- type KeyValueSliceCmd
- func (cmd *KeyValueSliceCmd) Args() []interface{}
- func (cmd *KeyValueSliceCmd) Err() error
- func (cmd *KeyValueSliceCmd) FullName() string
- func (cmd *KeyValueSliceCmd) Name() string
- func (cmd *KeyValueSliceCmd) Result() ([]KeyValue, error)
- func (cmd *KeyValueSliceCmd) SetErr(e error)
- func (cmd *KeyValueSliceCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *KeyValueSliceCmd) SetVal(val []KeyValue)
- func (cmd *KeyValueSliceCmd) String() string
- func (cmd *KeyValueSliceCmd) Val() []KeyValue
- type LPosArgs
- type Limiter
- type MapStringIntCmd
- func (cmd *MapStringIntCmd) Args() []interface{}
- func (cmd *MapStringIntCmd) Err() error
- func (cmd *MapStringIntCmd) FullName() string
- func (cmd *MapStringIntCmd) Name() string
- func (cmd *MapStringIntCmd) Result() (map[string]int64, error)
- func (cmd *MapStringIntCmd) SetErr(e error)
- func (cmd *MapStringIntCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *MapStringIntCmd) SetVal(val map[string]int64)
- func (cmd *MapStringIntCmd) String() string
- func (cmd *MapStringIntCmd) Val() map[string]int64
- type MapStringInterfaceCmd
- func (cmd *MapStringInterfaceCmd) Args() []interface{}
- func (cmd *MapStringInterfaceCmd) Err() error
- func (cmd *MapStringInterfaceCmd) FullName() string
- func (cmd *MapStringInterfaceCmd) Name() string
- func (cmd *MapStringInterfaceCmd) Result() (map[string]interface{}, error)
- func (cmd *MapStringInterfaceCmd) SetErr(e error)
- func (cmd *MapStringInterfaceCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *MapStringInterfaceCmd) SetVal(val map[string]interface{})
- func (cmd *MapStringInterfaceCmd) String() string
- func (cmd *MapStringInterfaceCmd) Val() map[string]interface{}
- type MapStringStringCmd
- func (cmd *MapStringStringCmd) Args() []interface{}
- func (cmd *MapStringStringCmd) Err() error
- func (cmd *MapStringStringCmd) FullName() string
- func (cmd *MapStringStringCmd) Name() string
- func (cmd *MapStringStringCmd) Result() (map[string]string, error)
- func (cmd *MapStringStringCmd) Scan(dest interface{}) error
- func (cmd *MapStringStringCmd) SetErr(e error)
- func (cmd *MapStringStringCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *MapStringStringCmd) SetVal(val map[string]string)
- func (cmd *MapStringStringCmd) String() string
- func (cmd *MapStringStringCmd) Val() map[string]string
- type MapStringStringSliceCmd
- func (cmd *MapStringStringSliceCmd) Args() []interface{}
- func (cmd *MapStringStringSliceCmd) Err() error
- func (cmd *MapStringStringSliceCmd) FullName() string
- func (cmd *MapStringStringSliceCmd) Name() string
- func (cmd *MapStringStringSliceCmd) Result() ([]map[string]string, error)
- func (cmd *MapStringStringSliceCmd) SetErr(e error)
- func (cmd *MapStringStringSliceCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *MapStringStringSliceCmd) SetVal(val []map[string]string)
- func (cmd *MapStringStringSliceCmd) String() string
- func (cmd *MapStringStringSliceCmd) Val() []map[string]string
- 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) BLMove(ctx context.Context, source, destination, srcpos, destpos string, ...) *StringCmd
- 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) ClientUnpause(ctx context.Context) *BoolCmd
- 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) *MapStringStringCmd
- 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) Copy(ctx context.Context, sourceKey, destKey string, db int, replace bool) *IntCmd
- 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()
- 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) EvalRO(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) EvalShaRO(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) ExpireGT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Pipeline) ExpireLT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Pipeline) ExpireNX(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Pipeline) ExpireXX(ctx context.Context, key string, expiration time.Duration) *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, ...) *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, ...) *IntCmd
- func (c Pipeline) GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
- func (c Pipeline) GeoSearchLocation(ctx context.Context, key string, q *GeoSearchLocationQuery) *GeoSearchLocationCmd
- func (c Pipeline) GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *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) GetDel(ctx context.Context, key string) *StringCmd
- func (c Pipeline) GetEx(ctx context.Context, key string, expiration time.Duration) *StringCmd
- 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) *MapStringStringCmd
- 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) HRandField(ctx context.Context, key string, count int) *StringSliceCmd
- func (c Pipeline) HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
- 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) Hello(ctx context.Context, ver int, username, password, clientName string) *MapStringInterfaceCmd
- 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, sections ...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) LMove(ctx context.Context, source, destination, srcpos, destpos string) *StringCmd
- func (c Pipeline) LPop(ctx context.Context, key string) *StringCmd
- func (c Pipeline) LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
- 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) Len() int
- 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) *MapStringIntCmd
- func (c Pipeline) PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
- func (c Pipeline) PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
- func (c Pipeline) Publish(ctx context.Context, channel string, message interface{}) *IntCmd
- func (c Pipeline) Quit(_ context.Context) *StatusCmd
- func (c Pipeline) RPop(ctx context.Context, key string) *StringCmd
- func (c Pipeline) RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
- 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) SInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
- 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) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
- 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) SPublish(ctx context.Context, channel string, message interface{}) *IntCmd
- 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) SetArgs(ctx context.Context, key string, value interface{}, a SetArgs) *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) SortRO(ctx context.Context, key string, sort *Sort) *StringSliceCmd
- 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(_ 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) XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
- func (c Pipeline) XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
- 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) XGroupCreateConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
- 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) XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
- func (c Pipeline) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
- func (c Pipeline) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
- func (c Pipeline) XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
- 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) XTrimMaxLen(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Pipeline) XTrimMaxLenApprox(ctx context.Context, key string, maxLen, limit int64) *IntCmd
- func (c Pipeline) XTrimMinID(ctx context.Context, key string, minID string) *IntCmd
- func (c Pipeline) XTrimMinIDApprox(ctx context.Context, key string, minID string, limit int64) *IntCmd
- func (c Pipeline) ZAdd(ctx context.Context, key string, members ...Z) *IntCmd
- func (c Pipeline) ZAddArgs(ctx context.Context, key string, args ZAddArgs) *IntCmd
- func (c Pipeline) ZAddArgsIncr(ctx context.Context, key string, args ZAddArgs) *FloatCmd
- func (c Pipeline) ZAddNX(ctx context.Context, key string, members ...Z) *IntCmd
- func (c Pipeline) ZAddXX(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) ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Pipeline) ZDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Pipeline) ZDiffWithScores(ctx context.Context, keys ...string) *ZSliceCmd
- func (c Pipeline) ZIncrBy(ctx context.Context, key string, increment float64, member string) *FloatCmd
- func (c Pipeline) ZInter(ctx context.Context, store *ZStore) *StringSliceCmd
- func (c Pipeline) ZInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
- func (c Pipeline) ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
- func (c Pipeline) ZInterWithScores(ctx context.Context, store *ZStore) *ZSliceCmd
- func (c Pipeline) ZLexCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Pipeline) ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
- 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) ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
- func (c Pipeline) ZRandMemberWithScores(ctx context.Context, key string, count int) *ZSliceCmd
- func (c Pipeline) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Pipeline) ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
- func (c Pipeline) ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
- 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) ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
- 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) ZUnion(ctx context.Context, store ZStore) *StringSliceCmd
- func (c Pipeline) ZUnionStore(ctx context.Context, dest string, store *ZStore) *IntCmd
- func (c Pipeline) ZUnionWithScores(ctx context.Context, store ZStore) *ZSliceCmd
- type Pipeliner
- type Pong
- type PoolStats
- type ProcessHook
- type ProcessPipelineHook
- type PubSub
- func (c *PubSub) Channel(opts ...ChannelOption) <-chan *Message
- func (c *PubSub) ChannelSize(size int) <-chan *Messagedeprecated
- func (c *PubSub) ChannelWithSubscriptions(opts ...ChannelOption) <-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) SSubscribe(ctx context.Context, channels ...string) error
- func (c *PubSub) SUnsubscribe(ctx context.Context, channels ...string) 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 (hs *Ring) AddHook(hook Hook)
- func (c Ring) Append(ctx context.Context, key, value string) *IntCmd
- func (c Ring) BLMove(ctx context.Context, source, destination, srcpos, destpos string, ...) *StringCmd
- 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) ClientUnpause(ctx context.Context) *BoolCmd
- 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) *MapStringStringCmd
- 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) Copy(ctx context.Context, sourceKey, destKey string, db int, replace bool) *IntCmd
- 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) EvalRO(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) EvalShaRO(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) ExpireGT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Ring) ExpireLT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Ring) ExpireNX(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Ring) ExpireXX(ctx context.Context, key string, expiration time.Duration) *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, ...) *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, ...) *IntCmd
- func (c Ring) GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
- func (c Ring) GeoSearchLocation(ctx context.Context, key string, q *GeoSearchLocationQuery) *GeoSearchLocationCmd
- func (c Ring) GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *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) GetDel(ctx context.Context, key string) *StringCmd
- func (c Ring) GetEx(ctx context.Context, key string, expiration time.Duration) *StringCmd
- 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) *MapStringStringCmd
- 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) HRandField(ctx context.Context, key string, count int) *StringSliceCmd
- func (c Ring) HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
- 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, sections ...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) LMove(ctx context.Context, source, destination, srcpos, destpos string) *StringCmd
- func (c Ring) LPop(ctx context.Context, key string) *StringCmd
- func (c Ring) LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
- 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) OnNewNode(fn func(rdb *Client))
- 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) *MapStringIntCmd
- func (c Ring) PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
- func (c Ring) PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
- func (c Ring) Publish(ctx context.Context, channel string, message interface{}) *IntCmd
- func (c Ring) Quit(_ context.Context) *StatusCmd
- func (c Ring) RPop(ctx context.Context, key string) *StringCmd
- func (c Ring) RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
- 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) SInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
- 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) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
- 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) SPublish(ctx context.Context, channel string, message interface{}) *IntCmd
- 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) SSubscribe(ctx context.Context, channels ...string) *PubSub
- 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) SetAddrs(addrs map[string]string)
- func (c Ring) SetArgs(ctx context.Context, key string, value interface{}, a SetArgs) *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) SortRO(ctx context.Context, key string, sort *Sort) *StringSliceCmd
- 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(_ 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) XAck(ctx context.Context, stream, group string, ids ...string) *IntCmd
- func (c Ring) XAdd(ctx context.Context, a *XAddArgs) *StringCmd
- func (c Ring) XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
- func (c Ring) XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
- 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) XGroupCreateConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
- 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) XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
- func (c Ring) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
- func (c Ring) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
- func (c Ring) XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
- 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) XTrimMaxLen(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Ring) XTrimMaxLenApprox(ctx context.Context, key string, maxLen, limit int64) *IntCmd
- func (c Ring) XTrimMinID(ctx context.Context, key string, minID string) *IntCmd
- func (c Ring) XTrimMinIDApprox(ctx context.Context, key string, minID string, limit int64) *IntCmd
- func (c Ring) ZAdd(ctx context.Context, key string, members ...Z) *IntCmd
- func (c Ring) ZAddArgs(ctx context.Context, key string, args ZAddArgs) *IntCmd
- func (c Ring) ZAddArgsIncr(ctx context.Context, key string, args ZAddArgs) *FloatCmd
- func (c Ring) ZAddNX(ctx context.Context, key string, members ...Z) *IntCmd
- func (c Ring) ZAddXX(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) ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Ring) ZDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Ring) ZDiffWithScores(ctx context.Context, keys ...string) *ZSliceCmd
- func (c Ring) ZIncrBy(ctx context.Context, key string, increment float64, member string) *FloatCmd
- func (c Ring) ZInter(ctx context.Context, store *ZStore) *StringSliceCmd
- func (c Ring) ZInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
- func (c Ring) ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
- func (c Ring) ZInterWithScores(ctx context.Context, store *ZStore) *ZSliceCmd
- func (c Ring) ZLexCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Ring) ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
- 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) ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
- func (c Ring) ZRandMemberWithScores(ctx context.Context, key string, count int) *ZSliceCmd
- func (c Ring) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Ring) ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
- func (c Ring) ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
- 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) ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
- 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) ZUnion(ctx context.Context, store ZStore) *StringSliceCmd
- func (c Ring) ZUnionStore(ctx context.Context, dest string, store *ZStore) *IntCmd
- func (c Ring) ZUnionWithScores(ctx context.Context, store ZStore) *ZSliceCmd
- type RingOptions
- type ScanCmd
- func (cmd *ScanCmd) Args() []interface{}
- func (cmd *ScanCmd) Err() error
- func (cmd *ScanCmd) FullName() string
- func (cmd *ScanCmd) Iterator() *ScanIterator
- func (cmd *ScanCmd) Name() string
- func (cmd *ScanCmd) Result() (keys []string, cursor uint64, err error)
- func (cmd *ScanCmd) SetErr(e error)
- func (cmd *ScanCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *ScanCmd) SetVal(page []string, cursor uint64)
- func (cmd *ScanCmd) String() string
- func (cmd *ScanCmd) Val() (keys []string, cursor uint64)
- type ScanIterator
- type Scanner
- type Script
- func (s *Script) Eval(ctx context.Context, c Scripter, keys []string, args ...interface{}) *Cmd
- func (s *Script) EvalRO(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) EvalShaRO(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
- func (s *Script) RunRO(ctx context.Context, c Scripter, keys []string, args ...interface{}) *Cmd
- type Scripter
- type 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) 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) *MapStringStringCmd
- 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) Replicas(ctx context.Context, name string) *MapStringStringSliceCmd
- func (c *SentinelClient) Reset(ctx context.Context, pattern string) *IntCmd
- func (c *SentinelClient) Sentinels(ctx context.Context, name string) *MapStringStringSliceCmd
- func (c *SentinelClient) Set(ctx context.Context, name, option, value string) *StringCmd
- func (c SentinelClient) String() string
- func (c *SentinelClient) Subscribe(ctx context.Context, channels ...string) *PubSub
- type SetArgs
- type SliceCmd
- func (cmd *SliceCmd) Args() []interface{}
- func (cmd *SliceCmd) Err() error
- func (cmd *SliceCmd) FullName() string
- func (cmd *SliceCmd) Name() string
- func (cmd *SliceCmd) Result() ([]interface{}, error)
- func (cmd *SliceCmd) Scan(dst interface{}) error
- func (cmd *SliceCmd) SetErr(e error)
- func (cmd *SliceCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *SliceCmd) SetVal(val []interface{})
- func (cmd *SliceCmd) String() string
- func (cmd *SliceCmd) Val() []interface{}
- type SlowLog
- type SlowLogCmd
- func (cmd *SlowLogCmd) Args() []interface{}
- func (cmd *SlowLogCmd) Err() error
- func (cmd *SlowLogCmd) FullName() string
- func (cmd *SlowLogCmd) Name() string
- func (cmd *SlowLogCmd) Result() ([]SlowLog, error)
- func (cmd *SlowLogCmd) SetErr(e error)
- func (cmd *SlowLogCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *SlowLogCmd) SetVal(val []SlowLog)
- func (cmd *SlowLogCmd) String() string
- func (cmd *SlowLogCmd) Val() []SlowLog
- type Sort
- type StatefulCmdable
- type StatusCmd
- func (cmd *StatusCmd) Args() []interface{}
- func (cmd *StatusCmd) Err() error
- func (cmd *StatusCmd) FullName() string
- func (cmd *StatusCmd) Name() string
- func (cmd *StatusCmd) Result() (string, error)
- func (cmd *StatusCmd) SetErr(e error)
- func (cmd *StatusCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *StatusCmd) SetVal(val string)
- func (cmd *StatusCmd) String() string
- func (cmd *StatusCmd) Val() string
- type StringCmd
- func (cmd *StringCmd) Args() []interface{}
- func (cmd *StringCmd) Bool() (bool, error)
- 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) SetFirstKeyPos(keyPos int8)
- func (cmd *StringCmd) SetVal(val string)
- func (cmd *StringCmd) String() string
- func (cmd *StringCmd) Time() (time.Time, error)
- func (cmd *StringCmd) Uint64() (uint64, error)
- func (cmd *StringCmd) Val() string
- type StringSliceCmd
- func (cmd *StringSliceCmd) Args() []interface{}
- func (cmd *StringSliceCmd) Err() error
- func (cmd *StringSliceCmd) FullName() string
- func (cmd *StringSliceCmd) Name() string
- func (cmd *StringSliceCmd) Result() ([]string, error)
- func (cmd *StringSliceCmd) ScanSlice(container interface{}) error
- func (cmd *StringSliceCmd) SetErr(e error)
- func (cmd *StringSliceCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *StringSliceCmd) SetVal(val []string)
- func (cmd *StringSliceCmd) String() string
- func (cmd *StringSliceCmd) Val() []string
- type StringStructMapCmd
- func (cmd *StringStructMapCmd) Args() []interface{}
- func (cmd *StringStructMapCmd) Err() error
- func (cmd *StringStructMapCmd) FullName() string
- func (cmd *StringStructMapCmd) Name() string
- func (cmd *StringStructMapCmd) Result() (map[string]struct{}, error)
- func (cmd *StringStructMapCmd) SetErr(e error)
- func (cmd *StringStructMapCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *StringStructMapCmd) SetVal(val map[string]struct{})
- func (cmd *StringStructMapCmd) String() string
- func (cmd *StringStructMapCmd) Val() map[string]struct{}
- type Subscription
- type TimeCmd
- func (cmd *TimeCmd) Args() []interface{}
- func (cmd *TimeCmd) Err() error
- func (cmd *TimeCmd) FullName() string
- func (cmd *TimeCmd) Name() string
- func (cmd *TimeCmd) Result() (time.Time, error)
- func (cmd *TimeCmd) SetErr(e error)
- func (cmd *TimeCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *TimeCmd) SetVal(val time.Time)
- func (cmd *TimeCmd) String() string
- func (cmd *TimeCmd) Val() time.Time
- 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) BLMove(ctx context.Context, source, destination, srcpos, destpos string, ...) *StringCmd
- 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) ClientUnpause(ctx context.Context) *BoolCmd
- 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) *MapStringStringCmd
- 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) Copy(ctx context.Context, sourceKey, destKey string, db int, replace bool) *IntCmd
- 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) EvalRO(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) EvalShaRO(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) ExpireGT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Tx) ExpireLT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Tx) ExpireNX(ctx context.Context, key string, expiration time.Duration) *BoolCmd
- func (c Tx) ExpireXX(ctx context.Context, key string, expiration time.Duration) *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, ...) *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, ...) *IntCmd
- func (c Tx) GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
- func (c Tx) GeoSearchLocation(ctx context.Context, key string, q *GeoSearchLocationQuery) *GeoSearchLocationCmd
- func (c Tx) GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *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) GetDel(ctx context.Context, key string) *StringCmd
- func (c Tx) GetEx(ctx context.Context, key string, expiration time.Duration) *StringCmd
- 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) *MapStringStringCmd
- 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) HRandField(ctx context.Context, key string, count int) *StringSliceCmd
- func (c Tx) HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
- 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) Hello(ctx context.Context, ver int, username, password, clientName string) *MapStringInterfaceCmd
- 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, sections ...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) LMove(ctx context.Context, source, destination, srcpos, destpos string) *StringCmd
- func (c Tx) LPop(ctx context.Context, key string) *StringCmd
- func (c Tx) LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
- 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) *MapStringIntCmd
- func (c Tx) PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
- func (c Tx) PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
- func (c Tx) Publish(ctx context.Context, channel string, message interface{}) *IntCmd
- func (c Tx) Quit(_ context.Context) *StatusCmd
- func (c Tx) RPop(ctx context.Context, key string) *StringCmd
- func (c Tx) RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
- 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) SInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
- 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) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
- 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) SPublish(ctx context.Context, channel string, message interface{}) *IntCmd
- 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) SetArgs(ctx context.Context, key string, value interface{}, a SetArgs) *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) SortRO(ctx context.Context, key string, sort *Sort) *StringSliceCmd
- 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(_ 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) XAck(ctx context.Context, stream, group string, ids ...string) *IntCmd
- func (c Tx) XAdd(ctx context.Context, a *XAddArgs) *StringCmd
- func (c Tx) XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
- func (c Tx) XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
- 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) XGroupCreateConsumer(ctx context.Context, stream, group, consumer string) *IntCmd
- 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) XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
- func (c Tx) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
- func (c Tx) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
- func (c Tx) XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
- 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) XTrimMaxLen(ctx context.Context, key string, maxLen int64) *IntCmd
- func (c Tx) XTrimMaxLenApprox(ctx context.Context, key string, maxLen, limit int64) *IntCmd
- func (c Tx) XTrimMinID(ctx context.Context, key string, minID string) *IntCmd
- func (c Tx) XTrimMinIDApprox(ctx context.Context, key string, minID string, limit int64) *IntCmd
- func (c Tx) ZAdd(ctx context.Context, key string, members ...Z) *IntCmd
- func (c Tx) ZAddArgs(ctx context.Context, key string, args ZAddArgs) *IntCmd
- func (c Tx) ZAddArgsIncr(ctx context.Context, key string, args ZAddArgs) *FloatCmd
- func (c Tx) ZAddNX(ctx context.Context, key string, members ...Z) *IntCmd
- func (c Tx) ZAddXX(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) ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
- func (c Tx) ZDiffStore(ctx context.Context, destination string, keys ...string) *IntCmd
- func (c Tx) ZDiffWithScores(ctx context.Context, keys ...string) *ZSliceCmd
- func (c Tx) ZIncrBy(ctx context.Context, key string, increment float64, member string) *FloatCmd
- func (c Tx) ZInter(ctx context.Context, store *ZStore) *StringSliceCmd
- func (c Tx) ZInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
- func (c Tx) ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
- func (c Tx) ZInterWithScores(ctx context.Context, store *ZStore) *ZSliceCmd
- func (c Tx) ZLexCount(ctx context.Context, key, min, max string) *IntCmd
- func (c Tx) ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
- 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) ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
- func (c Tx) ZRandMemberWithScores(ctx context.Context, key string, count int) *ZSliceCmd
- func (c Tx) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
- func (c Tx) ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
- func (c Tx) ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
- 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) ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
- 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) ZUnion(ctx context.Context, store ZStore) *StringSliceCmd
- func (c Tx) ZUnionStore(ctx context.Context, dest string, store *ZStore) *IntCmd
- func (c Tx) ZUnionWithScores(ctx context.Context, store ZStore) *ZSliceCmd
- type UniversalClient
- type UniversalOptions
- type XAddArgs
- type XAutoClaimArgs
- type XAutoClaimCmd
- func (cmd *XAutoClaimCmd) Args() []interface{}
- func (cmd *XAutoClaimCmd) Err() error
- func (cmd *XAutoClaimCmd) FullName() string
- func (cmd *XAutoClaimCmd) Name() string
- func (cmd *XAutoClaimCmd) Result() (messages []XMessage, start string, err error)
- func (cmd *XAutoClaimCmd) SetErr(e error)
- func (cmd *XAutoClaimCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *XAutoClaimCmd) SetVal(val []XMessage, start string)
- func (cmd *XAutoClaimCmd) String() string
- func (cmd *XAutoClaimCmd) Val() (messages []XMessage, start string)
- type XAutoClaimJustIDCmd
- func (cmd *XAutoClaimJustIDCmd) Args() []interface{}
- func (cmd *XAutoClaimJustIDCmd) Err() error
- func (cmd *XAutoClaimJustIDCmd) FullName() string
- func (cmd *XAutoClaimJustIDCmd) Name() string
- func (cmd *XAutoClaimJustIDCmd) Result() (ids []string, start string, err error)
- func (cmd *XAutoClaimJustIDCmd) SetErr(e error)
- func (cmd *XAutoClaimJustIDCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *XAutoClaimJustIDCmd) SetVal(val []string, start string)
- func (cmd *XAutoClaimJustIDCmd) String() string
- func (cmd *XAutoClaimJustIDCmd) Val() (ids []string, start string)
- type XClaimArgs
- type XInfoConsumer
- type XInfoConsumersCmd
- func (cmd *XInfoConsumersCmd) Args() []interface{}
- func (cmd *XInfoConsumersCmd) Err() error
- func (cmd *XInfoConsumersCmd) FullName() string
- func (cmd *XInfoConsumersCmd) Name() string
- func (cmd *XInfoConsumersCmd) Result() ([]XInfoConsumer, error)
- func (cmd *XInfoConsumersCmd) SetErr(e error)
- func (cmd *XInfoConsumersCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *XInfoConsumersCmd) SetVal(val []XInfoConsumer)
- func (cmd *XInfoConsumersCmd) String() string
- func (cmd *XInfoConsumersCmd) Val() []XInfoConsumer
- type XInfoGroup
- type XInfoGroupsCmd
- func (cmd *XInfoGroupsCmd) Args() []interface{}
- func (cmd *XInfoGroupsCmd) Err() error
- func (cmd *XInfoGroupsCmd) FullName() string
- func (cmd *XInfoGroupsCmd) Name() string
- func (cmd *XInfoGroupsCmd) Result() ([]XInfoGroup, error)
- func (cmd *XInfoGroupsCmd) SetErr(e error)
- func (cmd *XInfoGroupsCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *XInfoGroupsCmd) SetVal(val []XInfoGroup)
- func (cmd *XInfoGroupsCmd) String() string
- func (cmd *XInfoGroupsCmd) Val() []XInfoGroup
- type XInfoStream
- type XInfoStreamCmd
- func (cmd *XInfoStreamCmd) Args() []interface{}
- func (cmd *XInfoStreamCmd) Err() error
- func (cmd *XInfoStreamCmd) FullName() string
- func (cmd *XInfoStreamCmd) Name() string
- func (cmd *XInfoStreamCmd) Result() (*XInfoStream, error)
- func (cmd *XInfoStreamCmd) SetErr(e error)
- func (cmd *XInfoStreamCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *XInfoStreamCmd) SetVal(val *XInfoStream)
- func (cmd *XInfoStreamCmd) String() string
- func (cmd *XInfoStreamCmd) Val() *XInfoStream
- type XInfoStreamConsumer
- type XInfoStreamConsumerPending
- type XInfoStreamFull
- type XInfoStreamFullCmd
- func (cmd *XInfoStreamFullCmd) Args() []interface{}
- func (cmd *XInfoStreamFullCmd) Err() error
- func (cmd *XInfoStreamFullCmd) FullName() string
- func (cmd *XInfoStreamFullCmd) Name() string
- func (cmd *XInfoStreamFullCmd) Result() (*XInfoStreamFull, error)
- func (cmd *XInfoStreamFullCmd) SetErr(e error)
- func (cmd *XInfoStreamFullCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *XInfoStreamFullCmd) SetVal(val *XInfoStreamFull)
- func (cmd *XInfoStreamFullCmd) String() string
- func (cmd *XInfoStreamFullCmd) Val() *XInfoStreamFull
- type XInfoStreamGroup
- type XInfoStreamGroupPending
- type XMessage
- type XMessageSliceCmd
- func (cmd *XMessageSliceCmd) Args() []interface{}
- func (cmd *XMessageSliceCmd) Err() error
- func (cmd *XMessageSliceCmd) FullName() string
- func (cmd *XMessageSliceCmd) Name() string
- func (cmd *XMessageSliceCmd) Result() ([]XMessage, error)
- func (cmd *XMessageSliceCmd) SetErr(e error)
- func (cmd *XMessageSliceCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *XMessageSliceCmd) SetVal(val []XMessage)
- func (cmd *XMessageSliceCmd) String() string
- func (cmd *XMessageSliceCmd) Val() []XMessage
- type XPending
- type XPendingCmd
- func (cmd *XPendingCmd) Args() []interface{}
- func (cmd *XPendingCmd) Err() error
- func (cmd *XPendingCmd) FullName() string
- func (cmd *XPendingCmd) Name() string
- func (cmd *XPendingCmd) Result() (*XPending, error)
- func (cmd *XPendingCmd) SetErr(e error)
- func (cmd *XPendingCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *XPendingCmd) SetVal(val *XPending)
- func (cmd *XPendingCmd) String() string
- func (cmd *XPendingCmd) Val() *XPending
- type XPendingExt
- type XPendingExtArgs
- type XPendingExtCmd
- func (cmd *XPendingExtCmd) Args() []interface{}
- func (cmd *XPendingExtCmd) Err() error
- func (cmd *XPendingExtCmd) FullName() string
- func (cmd *XPendingExtCmd) Name() string
- func (cmd *XPendingExtCmd) Result() ([]XPendingExt, error)
- func (cmd *XPendingExtCmd) SetErr(e error)
- func (cmd *XPendingExtCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *XPendingExtCmd) SetVal(val []XPendingExt)
- func (cmd *XPendingExtCmd) String() string
- func (cmd *XPendingExtCmd) Val() []XPendingExt
- type XReadArgs
- type XReadGroupArgs
- type XStream
- type XStreamSliceCmd
- func (cmd *XStreamSliceCmd) Args() []interface{}
- func (cmd *XStreamSliceCmd) Err() error
- func (cmd *XStreamSliceCmd) FullName() string
- func (cmd *XStreamSliceCmd) Name() string
- func (cmd *XStreamSliceCmd) Result() ([]XStream, error)
- func (cmd *XStreamSliceCmd) SetErr(e error)
- func (cmd *XStreamSliceCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *XStreamSliceCmd) SetVal(val []XStream)
- func (cmd *XStreamSliceCmd) String() string
- func (cmd *XStreamSliceCmd) Val() []XStream
- type Z
- type ZAddArgs
- type ZRangeArgs
- type ZRangeBy
- type ZSliceCmd
- func (cmd *ZSliceCmd) Args() []interface{}
- func (cmd *ZSliceCmd) Err() error
- func (cmd *ZSliceCmd) FullName() string
- func (cmd *ZSliceCmd) Name() string
- func (cmd *ZSliceCmd) Result() ([]Z, error)
- func (cmd *ZSliceCmd) SetErr(e error)
- func (cmd *ZSliceCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *ZSliceCmd) SetVal(val []Z)
- func (cmd *ZSliceCmd) String() string
- func (cmd *ZSliceCmd) Val() []Z
- type ZStore
- type ZWithKey
- type ZWithKeyCmd
- func (cmd *ZWithKeyCmd) Args() []interface{}
- func (cmd *ZWithKeyCmd) Err() error
- func (cmd *ZWithKeyCmd) FullName() string
- func (cmd *ZWithKeyCmd) Name() string
- func (cmd *ZWithKeyCmd) Result() (*ZWithKey, error)
- func (cmd *ZWithKeyCmd) SetErr(e error)
- func (cmd *ZWithKeyCmd) SetFirstKeyPos(keyPos int8)
- func (cmd *ZWithKeyCmd) SetVal(val *ZWithKey)
- func (cmd *ZWithKeyCmd) String() string
- func (cmd *ZWithKeyCmd) Val() *ZWithKey
Constants ¶
const KeepTTL = -1
KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error. For example:
rdb.Set(ctx, key, value, redis.KeepTTL)
const Nil = proto.Nil
Nil reply returned by Redis when key does not exist.
const TxFailedErr = proto.RedisError("redis: transaction failed")
TxFailedErr transaction redis failed.
Variables ¶
var ErrClosed = pool.ErrClosed
ErrClosed performs any operation on the closed client will return this error.
Functions ¶
func HasErrorPrefix ¶
HasErrorPrefix checks if the err is a Redis error and the message contains a prefix.
Types ¶
type BoolCmd ¶
type BoolCmd struct {
// contains filtered or unexported fields
}
func NewBoolCmd ¶
func NewBoolResult ¶
NewBoolResult returns a BoolCmd initialised with val and err for testing.
func (*BoolCmd) SetFirstKeyPos ¶
func (cmd *BoolCmd) SetFirstKeyPos(keyPos int8)
type BoolSliceCmd ¶
type BoolSliceCmd struct {
// contains filtered or unexported fields
}
func NewBoolSliceCmd ¶
func NewBoolSliceCmd(ctx context.Context, args ...interface{}) *BoolSliceCmd
func NewBoolSliceResult ¶
func NewBoolSliceResult(val []bool, err error) *BoolSliceCmd
NewBoolSliceResult returns a BoolSliceCmd initialised with val and err for testing.
func (*BoolSliceCmd) Result ¶
func (cmd *BoolSliceCmd) Result() ([]bool, error)
func (*BoolSliceCmd) SetFirstKeyPos ¶
func (cmd *BoolSliceCmd) SetFirstKeyPos(keyPos int8)
func (*BoolSliceCmd) SetVal ¶
func (cmd *BoolSliceCmd) SetVal(val []bool)
func (*BoolSliceCmd) String ¶
func (cmd *BoolSliceCmd) String() string
func (*BoolSliceCmd) Val ¶
func (cmd *BoolSliceCmd) Val() []bool
type ChannelOption ¶
type ChannelOption func(c *channel)
func WithChannelHealthCheckInterval ¶
func WithChannelHealthCheckInterval(d time.Duration) ChannelOption
WithChannelHealthCheckInterval specifies the health check interval. PubSub will ping Redis Server if it does not receive any messages within the interval. To disable health check, use zero interval.
The default is 3 seconds.
func WithChannelSendTimeout ¶
func WithChannelSendTimeout(d time.Duration) ChannelOption
WithChannelSendTimeout specifies the channel send timeout after which the message is dropped.
The default is 60 seconds.
func WithChannelSize ¶
func WithChannelSize(size int) ChannelOption
WithChannelSize specifies the Go chan size that is used to buffer incoming messages.
The default is 100 messages.
type Client ¶
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.
Client creates and frees connections automatically; it also maintains a free pool of idle connections. You can control the pool size with Config.PoolSize option.
func NewFailoverClient ¶
func NewFailoverClient(failoverOpt *FailoverOptions) *Client
NewFailoverClient returns a Redis client that uses Redis Sentinel for automatic failover. It's safe for concurrent use by multiple goroutines.
func (*Client) AddHook ¶
func (hs *Client) AddHook(hook Hook)
AddHook is to add a hook to the queue. Hook is a function executed during network connection, command execution, and pipeline, it is a first-in-first-out stack queue (FIFO). You need to execute the next hook in each hook, unless you want to terminate the execution of the command. For example, you added hook-1, hook-2:
client.AddHook(hook-1, hook-2)
hook-1:
func (Hook1) ProcessHook(next redis.ProcessHook) redis.ProcessHook {
return func(ctx context.Context, cmd Cmder) error {
print("hook-1 start")
next(ctx, cmd)
print("hook-1 end")
return nil
}
}
hook-2:
func (Hook2) ProcessHook(next redis.ProcessHook) redis.ProcessHook {
return func(ctx context.Context, cmd redis.Cmder) error {
print("hook-2 start")
next(ctx, cmd)
print("hook-2 end")
return nil
}
}
The execution sequence is:
hook-1 start -> hook-2 start -> exec redis cmd -> hook-2 end -> hook-1 end
Please note: "next(ctx, cmd)" is very important, it will call the next hook, if "next(ctx, cmd)" is not executed, the redis command will not be executed.
func (Client) BRPopLPush ¶
func (Client) BgRewriteAOF ¶
func (Client) BitField ¶
func (c Client) BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
func (Client) ClientGetName ¶
ClientGetName returns the name of the connection.
func (Client) ClientKill ¶
func (Client) ClientKillByFilter ¶
ClientKillByFilter is new style syntax, while the ClientKill is old
CLIENT KILL <option> [value] ... <option> [value]
func (Client) ClientList ¶
func (Client) ClientPause ¶
func (Client) ClientUnblockWithError ¶
func (Client) ClientUnpause ¶
func (Client) Close ¶
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) ClusterAddSlots ¶
func (Client) ClusterAddSlotsRange ¶
func (Client) ClusterCountFailureReports ¶
func (Client) ClusterCountKeysInSlot ¶
func (Client) ClusterDelSlots ¶
func (Client) ClusterDelSlotsRange ¶
func (Client) ClusterFailover ¶
func (Client) ClusterForget ¶
func (Client) ClusterGetKeysInSlot ¶
func (c Client) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
func (Client) ClusterInfo ¶
func (Client) ClusterKeySlot ¶
func (Client) ClusterMeet ¶
func (Client) ClusterNodes ¶
func (Client) ClusterReplicate ¶
func (Client) ClusterResetHard ¶
func (Client) ClusterResetSoft ¶
func (Client) ClusterSaveConfig ¶
func (Client) ClusterSlaves ¶
func (c Client) ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
func (Client) ClusterSlots ¶
func (c Client) ClusterSlots(ctx context.Context) *ClusterSlotsCmd
func (Client) Command ¶
func (c Client) Command(ctx context.Context) *CommandsInfoCmd
func (Client) ConfigGet ¶
func (c Client) ConfigGet(ctx context.Context, parameter string) *MapStringStringCmd
func (Client) ConfigResetStat ¶
func (Client) ConfigRewrite ¶
func (Client) FlushAllAsync ¶
func (Client) FlushDBAsync ¶
func (Client) GeoAdd ¶
func (c Client) GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
func (Client) GeoHash ¶
func (c Client) GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
func (Client) GeoRadius ¶
func (c Client) GeoRadius( ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery, ) *GeoLocationCmd
GeoRadius is a read-only GEORADIUS_RO command.
func (Client) GeoRadiusByMember ¶
func (c Client) GeoRadiusByMember( ctx context.Context, key, member string, query *GeoRadiusQuery, ) *GeoLocationCmd
GeoRadiusByMember is a read-only GEORADIUSBYMEMBER_RO command.
func (Client) GeoRadiusByMemberStore ¶
func (c Client) GeoRadiusByMemberStore( ctx context.Context, key, member string, query *GeoRadiusQuery, ) *IntCmd
GeoRadiusByMemberStore is a writing GEORADIUSBYMEMBER command.
func (Client) GeoRadiusStore ¶
func (c Client) GeoRadiusStore( ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery, ) *IntCmd
GeoRadiusStore is a writing GEORADIUS command.
func (Client) GeoSearch ¶
func (c Client) GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
func (Client) GeoSearchLocation ¶
func (c Client) GeoSearchLocation( ctx context.Context, key string, q *GeoSearchLocationQuery, ) *GeoSearchLocationCmd
func (Client) GeoSearchStore ¶
func (c Client) GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *IntCmd
func (Client) Get ¶
Get Redis `GET key` command. It returns redis.Nil error when key does not exist.
func (Client) GetEx ¶
GetEx An expiration of zero removes the TTL associated with the key (i.e. GETEX key persist). Requires Redis >= 6.2.0.
func (Client) HGetAll ¶
func (c Client) HGetAll(ctx context.Context, key string) *MapStringStringCmd
func (Client) HIncrByFloat ¶
func (Client) HMGet ¶
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 (Client) HRandField ¶
func (c Client) HRandField(ctx context.Context, key string, count int) *StringSliceCmd
HRandField redis-server version >= 6.2.0.
func (Client) HRandFieldWithValues ¶
func (c Client) HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
HRandFieldWithValues redis-server version >= 6.2.0.
func (Client) HSet ¶
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"})
Playing struct With "redis" tag. type MyHash struct { Key1 string `redis:"key1"`; Key2 int `redis:"key2"` }
HSet("myhash", MyHash{"value1", "value2"})
For struct, can be a structure pointer type, we only parse the field whose tag is redis. if you don't want the field to be read, you can use the `redis:"-"` flag to ignore it, or you don't need to set the redis tag. For the type of structure field, we only support simple data types: string, int/uint(8,16,32,64), float(32,64), time.Time(to RFC3339Nano), time.Duration(to Nanoseconds ), if you are other more complex or custom data types, please implement the encoding.BinaryMarshaler interface.
Note that it requires Redis v4 for multiple field/value pairs support.
func (Client) IncrByFloat ¶
func (Client) LInsertAfter ¶
func (Client) LInsertBefore ¶
func (Client) LPopCount ¶
func (c Client) LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
func (Client) LRange ¶
func (c Client) LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Client) MSet ¶
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"})
- MSet(struct), For struct types, see HSet description.
func (Client) MSetNX ¶
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"})
- MSetNX(struct), For struct types, see HSet description.
func (Client) MemoryUsage ¶
func (Client) ObjectEncoding ¶
func (Client) ObjectIdleTime ¶
func (c Client) ObjectIdleTime(ctx context.Context, key string) *DurationCmd
func (Client) ObjectRefCount ¶
func (*Client) PSubscribe ¶
PSubscribe subscribes the client to the given patterns. Patterns can be omitted to create empty subscription.
func (Client) PubSubChannels ¶
func (c Client) PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
func (Client) PubSubNumPat ¶
func (Client) PubSubNumSub ¶
func (c Client) PubSubNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
func (Client) PubSubShardChannels ¶
func (c Client) PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
func (Client) PubSubShardNumSub ¶
func (c Client) PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
func (Client) RPopCount ¶
func (c Client) RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
func (Client) RestoreReplace ¶
func (Client) SDiffStore ¶
func (Client) SInterCard ¶
func (Client) SInterStore ¶
func (Client) SMIsMember ¶
func (c Client) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
SMIsMember Redis `SMISMEMBER key member [member ...]` command.
func (Client) SMembers ¶
func (c Client) SMembers(ctx context.Context, key string) *StringSliceCmd
SMembers Redis `SMEMBERS key` command output as a slice.
func (Client) SMembersMap ¶
func (c Client) SMembersMap(ctx context.Context, key string) *StringStructMapCmd
SMembersMap Redis `SMEMBERS key` command output as a map.
func (Client) SPopN ¶
func (c Client) SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
SPopN Redis `SPOP key count` command.
func (Client) SRandMember ¶
SRandMember Redis `SRANDMEMBER key` command.
func (Client) SRandMemberN ¶
func (c Client) SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
SRandMemberN Redis `SRANDMEMBER key count` command.
func (*Client) SSubscribe ¶
SSubscribe Subscribes the client to the specified shard channels. Channels can be omitted to create empty subscription.
func (Client) SUnionStore ¶
func (Client) ScriptExists ¶
func (c Client) ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
func (Client) ScriptFlush ¶
func (Client) ScriptKill ¶
func (Client) ScriptLoad ¶
func (Client) Set ¶
func (c Client) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
Set Redis `SET key value [expiration]` command. Use expiration for `SETEx`-like behavior.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Client) SetArgs ¶
SetArgs supports all the options that the SET command supports. It is the alternative to the Set function when you want to have more control over the options.
func (Client) SetEx ¶
func (c Client) SetEx(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
SetEx Redis `SETEx key expiration value` command.
func (Client) SetNX ¶
func (c Client) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetNX Redis `SET key value [expiration] NX` command.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Client) SetXX ¶
func (c Client) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetXX Redis `SET key value [expiration] XX` command.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Client) ShutdownNoSave ¶
func (Client) ShutdownSave ¶
func (Client) SlowLogGet ¶
func (c Client) SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
func (Client) Sort ¶
func (c Client) Sort(ctx context.Context, key string, sort *Sort) *StringSliceCmd
func (Client) SortInterfaces ¶
func (Client) SortRO ¶
func (c Client) SortRO(ctx context.Context, key string, sort *Sort) *StringSliceCmd
func (*Client) Subscribe ¶
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()
func (*Client) TxPipeline ¶
TxPipeline acts like Pipeline, but wraps queued commands with MULTI/EXEC.
func (*Client) TxPipelined ¶
func (*Client) Watch ¶
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.
func (Client) XAutoClaim ¶
func (c Client) XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
func (Client) XAutoClaimJustID ¶
func (c Client) XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
func (Client) XClaim ¶
func (c Client) XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
func (Client) XClaimJustID ¶
func (c Client) XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
func (Client) XGroupCreate ¶
func (Client) XGroupCreateConsumer ¶
func (Client) XGroupCreateMkStream ¶
func (Client) XGroupDelConsumer ¶
func (Client) XGroupDestroy ¶
func (Client) XGroupSetID ¶
func (Client) XInfoConsumers ¶
func (c Client) XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
func (Client) XInfoGroups ¶
func (c Client) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
func (Client) XInfoStream ¶
func (c Client) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
func (Client) XInfoStreamFull ¶
func (c Client) XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
XInfoStreamFull XINFO STREAM FULL [COUNT count] redis-server >= 6.0.
func (Client) XPending ¶
func (c Client) XPending(ctx context.Context, stream, group string) *XPendingCmd
func (Client) XPendingExt ¶
func (c Client) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
func (Client) XRange ¶
func (c Client) XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
func (Client) XRangeN ¶
func (c Client) XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
func (Client) XReadGroup ¶
func (c Client) XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
func (Client) XReadStreams ¶
func (c Client) XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
func (Client) XRevRange ¶
func (c Client) XRevRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
func (Client) XRevRangeN ¶
func (c Client) XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
func (Client) XTrimMaxLen ¶
XTrimMaxLen No `~` rules are used, `limit` cannot be used. cmd: XTRIM key MAXLEN maxLen
func (Client) XTrimMaxLenApprox ¶
func (Client) XTrimMinID ¶
func (Client) XTrimMinIDApprox ¶
func (Client) ZAddArgsIncr ¶
func (Client) ZDiff ¶
func (c Client) ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
ZDiff redis-server version >= 6.2.0.
func (Client) ZDiffStore ¶
ZDiffStore redis-server version >=6.2.0.
func (Client) ZDiffWithScores ¶
ZDiffWithScores redis-server version >= 6.2.0.
func (Client) ZInterCard ¶
func (Client) ZInterStore ¶
func (Client) ZInterWithScores ¶
func (Client) ZMScore ¶
func (c Client) ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
func (Client) ZRandMember ¶
func (c Client) ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
ZRandMember redis-server version >= 6.2.0.
func (Client) ZRandMemberWithScores ¶
ZRandMemberWithScores redis-server version >= 6.2.0.
func (Client) ZRange ¶
func (c Client) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Client) ZRangeArgs ¶
func (c Client) ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
func (Client) ZRangeArgsWithScores ¶
func (c Client) ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
func (Client) ZRangeByLex ¶
func (c Client) ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Client) ZRangeByScore ¶
func (c Client) ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Client) ZRangeByScoreWithScores ¶
func (Client) ZRangeStore ¶
func (c Client) ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
func (Client) ZRangeWithScores ¶
func (Client) ZRemRangeByLex ¶
func (Client) ZRemRangeByRank ¶
func (Client) ZRemRangeByScore ¶
func (Client) ZRevRange ¶
func (c Client) ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Client) ZRevRangeByLex ¶
func (c Client) ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Client) ZRevRangeByScore ¶
func (c Client) ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Client) ZRevRangeByScoreWithScores ¶
func (Client) ZRevRangeWithScores ¶
func (Client) ZUnionStore ¶
type ClusterClient ¶
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.
func NewClusterClient ¶
func NewClusterClient(opt *ClusterOptions) *ClusterClient
NewClusterClient returns a Redis Cluster client as described in http://redis.io/topics/cluster-spec.
func NewFailoverClusterClient ¶
func NewFailoverClusterClient(failoverOpt *FailoverOptions) *ClusterClient
NewFailoverClusterClient returns a client that supports routing read-only commands to a replica node.
func (*ClusterClient) AddHook ¶
func (hs *ClusterClient) AddHook(hook Hook)
AddHook is to add a hook to the queue. Hook is a function executed during network connection, command execution, and pipeline, it is a first-in-first-out stack queue (FIFO). You need to execute the next hook in each hook, unless you want to terminate the execution of the command. For example, you added hook-1, hook-2:
client.AddHook(hook-1, hook-2)
hook-1:
func (Hook1) ProcessHook(next redis.ProcessHook) redis.ProcessHook {
return func(ctx context.Context, cmd Cmder) error {
print("hook-1 start")
next(ctx, cmd)
print("hook-1 end")
return nil
}
}
hook-2:
func (Hook2) ProcessHook(next redis.ProcessHook) redis.ProcessHook {
return func(ctx context.Context, cmd redis.Cmder) error {
print("hook-2 start")
next(ctx, cmd)
print("hook-2 end")
return nil
}
}
The execution sequence is:
hook-1 start -> hook-2 start -> exec redis cmd -> hook-2 end -> hook-1 end
Please note: "next(ctx, cmd)" is very important, it will call the next hook, if "next(ctx, cmd)" is not executed, the redis command will not be executed.
func (ClusterClient) BRPopLPush ¶
func (ClusterClient) BZPopMax ¶
func (c ClusterClient) BZPopMax(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
BZPopMax Redis `BZPOPMAX key [key ...] timeout` command.
func (ClusterClient) BZPopMin ¶
func (c ClusterClient) BZPopMin(ctx context.Context, timeout time.Duration, keys ...string) *ZWithKeyCmd
BZPopMin Redis `BZPOPMIN key [key ...] timeout` command.
func (ClusterClient) BgRewriteAOF ¶
func (ClusterClient) BitField ¶
func (c ClusterClient) BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
func (ClusterClient) ClientGetName ¶
ClientGetName returns the name of the connection.
func (ClusterClient) ClientKill ¶
func (ClusterClient) ClientKillByFilter ¶
ClientKillByFilter is new style syntax, while the ClientKill is old
CLIENT KILL <option> [value] ... <option> [value]
func (ClusterClient) ClientList ¶
func (ClusterClient) ClientPause ¶
func (ClusterClient) ClientUnblock ¶
func (ClusterClient) ClientUnblockWithError ¶
func (ClusterClient) ClientUnpause ¶
func (*ClusterClient) Close ¶
func (c *ClusterClient) Close() error
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) ClusterAddSlots ¶
func (ClusterClient) ClusterAddSlotsRange ¶
func (ClusterClient) ClusterCountFailureReports ¶
func (ClusterClient) ClusterCountKeysInSlot ¶
func (ClusterClient) ClusterDelSlots ¶
func (ClusterClient) ClusterDelSlotsRange ¶
func (ClusterClient) ClusterFailover ¶
func (ClusterClient) ClusterForget ¶
func (ClusterClient) ClusterGetKeysInSlot ¶
func (c ClusterClient) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
func (ClusterClient) ClusterInfo ¶
func (ClusterClient) ClusterKeySlot ¶
func (ClusterClient) ClusterMeet ¶
func (ClusterClient) ClusterNodes ¶
func (ClusterClient) ClusterReplicate ¶
func (ClusterClient) ClusterResetHard ¶
func (ClusterClient) ClusterResetSoft ¶
func (ClusterClient) ClusterSaveConfig ¶
func (ClusterClient) ClusterSlaves ¶
func (c ClusterClient) ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
func (ClusterClient) ClusterSlots ¶
func (c ClusterClient) ClusterSlots(ctx context.Context) *ClusterSlotsCmd
func (ClusterClient) Command ¶
func (c ClusterClient) Command(ctx context.Context) *CommandsInfoCmd
func (ClusterClient) ConfigGet ¶
func (c ClusterClient) ConfigGet(ctx context.Context, parameter string) *MapStringStringCmd
func (ClusterClient) ConfigResetStat ¶
func (ClusterClient) ConfigRewrite ¶
func (ClusterClient) DebugObject ¶
func (*ClusterClient) Do ¶
func (c *ClusterClient) Do(ctx context.Context, args ...interface{}) *Cmd
Do create a Cmd from the args and processes the cmd.
func (ClusterClient) FlushAllAsync ¶
func (ClusterClient) FlushDBAsync ¶
func (*ClusterClient) ForEachMaster ¶
func (c *ClusterClient) ForEachMaster( ctx context.Context, fn func(ctx context.Context, client *Client) error, ) error
ForEachMaster concurrently calls the fn on each master node in the cluster. It returns the first error if any.
func (*ClusterClient) ForEachShard ¶
func (c *ClusterClient) ForEachShard( ctx context.Context, fn func(ctx context.Context, client *Client) error, ) error
ForEachShard concurrently calls the fn on each known node in the cluster. It returns the first error if any.
func (*ClusterClient) ForEachSlave ¶
func (c *ClusterClient) ForEachSlave( ctx context.Context, fn func(ctx context.Context, client *Client) error, ) error
ForEachSlave concurrently calls the fn on each slave node in the cluster. It returns the first error if any.
func (ClusterClient) GeoAdd ¶
func (c ClusterClient) GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
func (ClusterClient) GeoHash ¶
func (c ClusterClient) GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
func (ClusterClient) GeoRadius ¶
func (c ClusterClient) GeoRadius( ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery, ) *GeoLocationCmd
GeoRadius is a read-only GEORADIUS_RO command.
func (ClusterClient) GeoRadiusByMember ¶
func (c ClusterClient) GeoRadiusByMember( ctx context.Context, key, member string, query *GeoRadiusQuery, ) *GeoLocationCmd
GeoRadiusByMember is a read-only GEORADIUSBYMEMBER_RO command.
func (ClusterClient) GeoRadiusByMemberStore ¶
func (c ClusterClient) GeoRadiusByMemberStore( ctx context.Context, key, member string, query *GeoRadiusQuery, ) *IntCmd
GeoRadiusByMemberStore is a writing GEORADIUSBYMEMBER command.
func (ClusterClient) GeoRadiusStore ¶
func (c ClusterClient) GeoRadiusStore( ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery, ) *IntCmd
GeoRadiusStore is a writing GEORADIUS command.
func (ClusterClient) GeoSearch ¶
func (c ClusterClient) GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
func (ClusterClient) GeoSearchLocation ¶
func (c ClusterClient) GeoSearchLocation( ctx context.Context, key string, q *GeoSearchLocationQuery, ) *GeoSearchLocationCmd
func (ClusterClient) GeoSearchStore ¶
func (c ClusterClient) GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *IntCmd
func (ClusterClient) Get ¶
Get Redis `GET key` command. It returns redis.Nil error when key does not exist.
func (ClusterClient) GetEx ¶
GetEx An expiration of zero removes the TTL associated with the key (i.e. GETEX key persist). Requires Redis >= 6.2.0.
func (ClusterClient) HGetAll ¶
func (c ClusterClient) HGetAll(ctx context.Context, key string) *MapStringStringCmd
func (ClusterClient) HIncrByFloat ¶
func (ClusterClient) HKeys ¶
func (c ClusterClient) HKeys(ctx context.Context, key string) *StringSliceCmd
func (ClusterClient) HMGet ¶
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 ¶
HMSet is a deprecated version of HSet left for compatibility with Redis 3.
func (ClusterClient) HRandField ¶
func (c ClusterClient) HRandField(ctx context.Context, key string, count int) *StringSliceCmd
HRandField redis-server version >= 6.2.0.
func (ClusterClient) HRandFieldWithValues ¶
func (c ClusterClient) HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
HRandFieldWithValues redis-server version >= 6.2.0.
func (ClusterClient) HSet ¶
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"})
Playing struct With "redis" tag. type MyHash struct { Key1 string `redis:"key1"`; Key2 int `redis:"key2"` }
HSet("myhash", MyHash{"value1", "value2"})
For struct, can be a structure pointer type, we only parse the field whose tag is redis. if you don't want the field to be read, you can use the `redis:"-"` flag to ignore it, or you don't need to set the redis tag. For the type of structure field, we only support simple data types: string, int/uint(8,16,32,64), float(32,64), time.Time(to RFC3339Nano), time.Duration(to Nanoseconds ), if you are other more complex or custom data types, please implement the encoding.BinaryMarshaler interface.
Note that it requires Redis v4 for multiple field/value pairs support.
func (ClusterClient) HVals ¶
func (c ClusterClient) HVals(ctx context.Context, key string) *StringSliceCmd
func (ClusterClient) IncrByFloat ¶
func (ClusterClient) Keys ¶
func (c ClusterClient) Keys(ctx context.Context, pattern string) *StringSliceCmd
func (ClusterClient) LInsertAfter ¶
func (ClusterClient) LInsertBefore ¶
func (ClusterClient) LPopCount ¶
func (c ClusterClient) LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
func (ClusterClient) LRange ¶
func (c ClusterClient) LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (ClusterClient) MSet ¶
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"})
- MSet(struct), For struct types, see HSet description.
func (ClusterClient) MSetNX ¶
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"})
- MSetNX(struct), For struct types, see HSet description.
func (*ClusterClient) MasterForKey ¶
MasterForKey return a client to the master node for a particular key.
func (ClusterClient) MemoryUsage ¶
func (ClusterClient) ObjectEncoding ¶
func (ClusterClient) ObjectIdleTime ¶
func (c ClusterClient) ObjectIdleTime(ctx context.Context, key string) *DurationCmd
func (ClusterClient) ObjectRefCount ¶
func (*ClusterClient) OnNewNode ¶
func (c *ClusterClient) OnNewNode(fn func(rdb *Client))
func (*ClusterClient) Options ¶
func (c *ClusterClient) Options() *ClusterOptions
Options returns read-only Options that were used to create the client.
func (*ClusterClient) PSubscribe ¶
func (c *ClusterClient) PSubscribe(ctx context.Context, channels ...string) *PubSub
PSubscribe subscribes the client to the given patterns. Patterns can be omitted to create empty subscription.
func (ClusterClient) PTTL ¶
func (c ClusterClient) PTTL(ctx context.Context, key string) *DurationCmd
func (*ClusterClient) Pipeline ¶
func (c *ClusterClient) Pipeline() Pipeliner
func (*ClusterClient) PoolStats ¶
func (c *ClusterClient) PoolStats() *PoolStats
PoolStats returns accumulated connection pool stats.
func (*ClusterClient) Process ¶
func (c *ClusterClient) Process(ctx context.Context, cmd Cmder) error
func (ClusterClient) PubSubChannels ¶
func (c ClusterClient) PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
func (ClusterClient) PubSubNumPat ¶
func (ClusterClient) PubSubNumSub ¶
func (c ClusterClient) PubSubNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
func (ClusterClient) PubSubShardChannels ¶
func (c ClusterClient) PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
func (ClusterClient) PubSubShardNumSub ¶
func (c ClusterClient) PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
func (ClusterClient) RPopCount ¶
func (c ClusterClient) RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
func (*ClusterClient) ReloadState ¶
func (c *ClusterClient) ReloadState(ctx context.Context)
ReloadState reloads cluster state. If available it calls ClusterSlots func to get cluster slots information.
func (ClusterClient) RestoreReplace ¶
func (ClusterClient) SDiff ¶
func (c ClusterClient) SDiff(ctx context.Context, keys ...string) *StringSliceCmd
func (ClusterClient) SDiffStore ¶
func (ClusterClient) SInter ¶
func (c ClusterClient) SInter(ctx context.Context, keys ...string) *StringSliceCmd
func (ClusterClient) SInterCard ¶
func (ClusterClient) SInterStore ¶
func (ClusterClient) SMIsMember ¶
func (c ClusterClient) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
SMIsMember Redis `SMISMEMBER key member [member ...]` command.
func (ClusterClient) SMembers ¶
func (c ClusterClient) SMembers(ctx context.Context, key string) *StringSliceCmd
SMembers Redis `SMEMBERS key` command output as a slice.
func (ClusterClient) SMembersMap ¶
func (c ClusterClient) SMembersMap(ctx context.Context, key string) *StringStructMapCmd
SMembersMap Redis `SMEMBERS key` command output as a map.
func (ClusterClient) SPopN ¶
func (c ClusterClient) SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
SPopN Redis `SPOP key count` command.
func (ClusterClient) SRandMember ¶
SRandMember Redis `SRANDMEMBER key` command.
func (ClusterClient) SRandMemberN ¶
func (c ClusterClient) SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
SRandMemberN Redis `SRANDMEMBER key count` command.
func (*ClusterClient) SSubscribe ¶
func (c *ClusterClient) SSubscribe(ctx context.Context, channels ...string) *PubSub
SSubscribe Subscribes the client to the specified shard channels.
func (ClusterClient) SUnion ¶
func (c ClusterClient) SUnion(ctx context.Context, keys ...string) *StringSliceCmd
func (ClusterClient) SUnionStore ¶
func (*ClusterClient) ScriptExists ¶
func (c *ClusterClient) ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
func (*ClusterClient) ScriptFlush ¶
func (c *ClusterClient) ScriptFlush(ctx context.Context) *StatusCmd
func (ClusterClient) ScriptKill ¶
func (*ClusterClient) ScriptLoad ¶
func (c *ClusterClient) ScriptLoad(ctx context.Context, script string) *StringCmd
func (ClusterClient) Set ¶
func (c ClusterClient) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
Set Redis `SET key value [expiration]` command. Use expiration for `SETEx`-like behavior.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (ClusterClient) SetArgs ¶
func (c ClusterClient) SetArgs(ctx context.Context, key string, value interface{}, a SetArgs) *StatusCmd
SetArgs supports all the options that the SET command supports. It is the alternative to the Set function when you want to have more control over the options.
func (ClusterClient) SetEx ¶
func (c ClusterClient) SetEx(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
SetEx Redis `SETEx key expiration value` command.
func (ClusterClient) SetNX ¶
func (c ClusterClient) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetNX Redis `SET key value [expiration] NX` command.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (ClusterClient) SetXX ¶
func (c ClusterClient) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetXX Redis `SET key value [expiration] XX` command.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (ClusterClient) ShutdownNoSave ¶
func (ClusterClient) ShutdownSave ¶
func (*ClusterClient) SlaveForKey ¶
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) SlowLogGet ¶
func (c ClusterClient) SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
func (ClusterClient) Sort ¶
func (c ClusterClient) Sort(ctx context.Context, key string, sort *Sort) *StringSliceCmd
func (ClusterClient) SortInterfaces ¶
func (ClusterClient) SortRO ¶
func (c ClusterClient) SortRO(ctx context.Context, key string, sort *Sort) *StringSliceCmd
func (*ClusterClient) Subscribe ¶
func (c *ClusterClient) Subscribe(ctx context.Context, channels ...string) *PubSub
Subscribe subscribes the client to the specified channels. Channels can be omitted to create empty subscription.
func (*ClusterClient) TxPipeline ¶
func (c *ClusterClient) TxPipeline() Pipeliner
TxPipeline acts like Pipeline, but wraps queued commands with MULTI/EXEC.
func (*ClusterClient) TxPipelined ¶
func (ClusterClient) XAutoClaim ¶
func (c ClusterClient) XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
func (ClusterClient) XAutoClaimJustID ¶
func (c ClusterClient) XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
func (ClusterClient) XClaim ¶
func (c ClusterClient) XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
func (ClusterClient) XClaimJustID ¶
func (c ClusterClient) XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
func (ClusterClient) XGroupCreate ¶
func (ClusterClient) XGroupCreateConsumer ¶
func (ClusterClient) XGroupCreateMkStream ¶
func (ClusterClient) XGroupDelConsumer ¶
func (ClusterClient) XGroupDestroy ¶
func (ClusterClient) XGroupSetID ¶
func (ClusterClient) XInfoConsumers ¶
func (c ClusterClient) XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
func (ClusterClient) XInfoGroups ¶
func (c ClusterClient) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
func (ClusterClient) XInfoStream ¶
func (c ClusterClient) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
func (ClusterClient) XInfoStreamFull ¶
func (c ClusterClient) XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
XInfoStreamFull XINFO STREAM FULL [COUNT count] redis-server >= 6.0.
func (ClusterClient) XPending ¶
func (c ClusterClient) XPending(ctx context.Context, stream, group string) *XPendingCmd
func (ClusterClient) XPendingExt ¶
func (c ClusterClient) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
func (ClusterClient) XRange ¶
func (c ClusterClient) XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
func (ClusterClient) XRangeN ¶
func (c ClusterClient) XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
func (ClusterClient) XRead ¶
func (c ClusterClient) XRead(ctx context.Context, a *XReadArgs) *XStreamSliceCmd
func (ClusterClient) XReadGroup ¶
func (c ClusterClient) XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
func (ClusterClient) XReadStreams ¶
func (c ClusterClient) XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
func (ClusterClient) XRevRange ¶
func (c ClusterClient) XRevRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
func (ClusterClient) XRevRangeN ¶
func (c ClusterClient) XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
func (ClusterClient) XTrimMaxLen ¶
XTrimMaxLen No `~` rules are used, `limit` cannot be used. cmd: XTRIM key MAXLEN maxLen
func (ClusterClient) XTrimMaxLenApprox ¶
func (ClusterClient) XTrimMinID ¶
func (ClusterClient) XTrimMinIDApprox ¶
func (ClusterClient) ZAddArgsIncr ¶
func (ClusterClient) ZDiff ¶
func (c ClusterClient) ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
ZDiff redis-server version >= 6.2.0.
func (ClusterClient) ZDiffStore ¶
ZDiffStore redis-server version >=6.2.0.
func (ClusterClient) ZDiffWithScores ¶
ZDiffWithScores redis-server version >= 6.2.0.
func (ClusterClient) ZInter ¶
func (c ClusterClient) ZInter(ctx context.Context, store *ZStore) *StringSliceCmd
func (ClusterClient) ZInterCard ¶
func (ClusterClient) ZInterStore ¶
func (ClusterClient) ZInterWithScores ¶
func (ClusterClient) ZMScore ¶
func (c ClusterClient) ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
func (ClusterClient) ZRandMember ¶
func (c ClusterClient) ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
ZRandMember redis-server version >= 6.2.0.
func (ClusterClient) ZRandMemberWithScores ¶
ZRandMemberWithScores redis-server version >= 6.2.0.
func (ClusterClient) ZRange ¶
func (c ClusterClient) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (ClusterClient) ZRangeArgs ¶
func (c ClusterClient) ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
func (ClusterClient) ZRangeArgsWithScores ¶
func (c ClusterClient) ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
func (ClusterClient) ZRangeByLex ¶
func (c ClusterClient) ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (ClusterClient) ZRangeByScore ¶
func (c ClusterClient) ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (ClusterClient) ZRangeByScoreWithScores ¶
func (ClusterClient) ZRangeStore ¶
func (c ClusterClient) ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
func (ClusterClient) ZRangeWithScores ¶
func (ClusterClient) ZRemRangeByLex ¶
func (ClusterClient) ZRemRangeByRank ¶
func (ClusterClient) ZRemRangeByScore ¶
func (ClusterClient) ZRevRange ¶
func (c ClusterClient) ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (ClusterClient) ZRevRangeByLex ¶
func (c ClusterClient) ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (ClusterClient) ZRevRangeByScore ¶
func (c ClusterClient) ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (ClusterClient) ZRevRangeByScoreWithScores ¶
func (ClusterClient) ZRevRangeWithScores ¶
func (ClusterClient) ZUnion ¶
func (c ClusterClient) ZUnion(ctx context.Context, store ZStore) *StringSliceCmd
func (ClusterClient) ZUnionStore ¶
type ClusterNode ¶
type ClusterOptions ¶
type ClusterOptions struct {
// A seed list of host:port addresses of cluster nodes.
Addrs []string
// ClientName will execute the `CLIENT SETNAME ClientName` command for each conn.
ClientName 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
ContextTimeoutEnabled bool
PoolFIFO bool
PoolSize int // applies per cluster node and not for the whole cluster
PoolTimeout time.Duration
MinIdleConns int
MaxIdleConns int
ConnMaxIdleTime time.Duration
ConnMaxLifetime time.Duration
TLSConfig *tls.Config
}
ClusterOptions are used to configure a cluster client and should be passed to NewClusterClient.
func ParseClusterURL ¶
func ParseClusterURL(redisURL string) (*ClusterOptions, error)
ParseClusterURL parses a URL into ClusterOptions that can be used to connect to Redis. The URL must be in the form:
redis://<user>:<password>@<host>:<port> or rediss://<user>:<password>@<host>:<port>
To add additional addresses, specify the query parameter, "addr" one or more times. e.g:
redis://<user>:<password>@<host>:<port>?addr=<host2>:<port2>&addr=<host3>:<port3> or rediss://<user>:<password>@<host>:<port>?addr=<host2>:<port2>&addr=<host3>:<port3>
Most Option fields can be set using query parameters, with the following restrictions:
- field names are mapped using snake-case conversion: to set MaxRetries, use max_retries
- only scalar type fields are supported (bool, int, time.Duration)
- for time.Duration fields, values must be a valid input for time.ParseDuration(); additionally a plain integer as value (i.e. without unit) is intepreted as seconds
- to disable a duration field, use value less than or equal to 0; to use the default value, leave the value blank or remove the parameter
- only the last value is interpreted if a parameter is given multiple times
- fields "network", "addr", "username" and "password" can only be set using other URL attributes (scheme, host, userinfo, resp.), query paremeters using these names will be treated as unknown parameters
- unknown parameter names will result in an error
Example:
redis://user:password@localhost:6789?dial_timeout=3&read_timeout=6s&addr=localhost:6790&addr=localhost:6791
is equivalent to:
&ClusterOptions{
Addr: ["localhost:6789", "localhost:6790", "localhost:6791"]
DialTimeout: 3 * time.Second, // no time unit = seconds
ReadTimeout: 6 * time.Second,
}
type ClusterSlot ¶
type ClusterSlot struct {
Start int
End int
Nodes []ClusterNode
}
type ClusterSlotsCmd ¶
type ClusterSlotsCmd struct {
// contains filtered or unexported fields
}
func NewClusterSlotsCmd ¶
func NewClusterSlotsCmd(ctx context.Context, args ...interface{}) *ClusterSlotsCmd
func NewClusterSlotsCmdResult ¶
func NewClusterSlotsCmdResult(val []ClusterSlot, err error) *ClusterSlotsCmd
NewClusterSlotsCmdResult returns a ClusterSlotsCmd initialised with val and err for testing.
func (*ClusterSlotsCmd) Result ¶
func (cmd *ClusterSlotsCmd) Result() ([]ClusterSlot, error)
func (*ClusterSlotsCmd) SetFirstKeyPos ¶
func (cmd *ClusterSlotsCmd) SetFirstKeyPos(keyPos int8)
func (*ClusterSlotsCmd) SetVal ¶
func (cmd *ClusterSlotsCmd) SetVal(val []ClusterSlot)
func (*ClusterSlotsCmd) String ¶
func (cmd *ClusterSlotsCmd) String() string
func (*ClusterSlotsCmd) Val ¶
func (cmd *ClusterSlotsCmd) Val() []ClusterSlot
type Cmd ¶
type Cmd struct {
// contains filtered or unexported fields
}
func NewCmdResult ¶
NewCmdResult returns a Cmd initialised with val and err for testing.
func (*Cmd) Float32Slice ¶
func (*Cmd) Float64Slice ¶
func (*Cmd) Int64Slice ¶
func (*Cmd) SetFirstKeyPos ¶
func (cmd *Cmd) SetFirstKeyPos(keyPos int8)
func (*Cmd) StringSlice ¶
func (*Cmd) Uint64Slice ¶
type Cmdable ¶
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
ExpireNX(ctx context.Context, key string, expiration time.Duration) *BoolCmd
ExpireXX(ctx context.Context, key string, expiration time.Duration) *BoolCmd
ExpireGT(ctx context.Context, key string, expiration time.Duration) *BoolCmd
ExpireLT(ctx context.Context, key string, expiration time.Duration) *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
SortRO(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
GetEx(ctx context.Context, key string, expiration time.Duration) *StringCmd
GetDel(ctx context.Context, key string) *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
SetArgs(ctx context.Context, key string, value interface{}, a SetArgs) *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
Copy(ctx context.Context, sourceKey string, destKey string, db int, replace bool) *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) *MapStringStringCmd
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
HRandField(ctx context.Context, key string, count int) *StringSliceCmd
HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
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
LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
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
RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
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
LMove(ctx context.Context, source, destination, srcpos, destpos string) *StringCmd
BLMove(ctx context.Context, source, destination, srcpos, destpos string, timeout time.Duration) *StringCmd
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
SInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
SInterStore(ctx context.Context, destination string, keys ...string) *IntCmd
SIsMember(ctx context.Context, key string, member interface{}) *BoolCmd
SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
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
XGroupCreateConsumer(ctx context.Context, stream, group, consumer 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
XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
XTrimMaxLen(ctx context.Context, key string, maxLen int64) *IntCmd
XTrimMaxLenApprox(ctx context.Context, key string, maxLen, limit int64) *IntCmd
XTrimMinID(ctx context.Context, key string, minID string) *IntCmd
XTrimMinIDApprox(ctx context.Context, key string, minID string, limit int64) *IntCmd
XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
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
ZAddArgs(ctx context.Context, key string, args ZAddArgs) *IntCmd
ZAddArgsIncr(ctx context.Context, key string, args ZAddArgs) *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
ZInter(ctx context.Context, store *ZStore) *StringSliceCmd
ZInterWithScores(ctx context.Context, store *ZStore) *ZSliceCmd
ZInterCard(ctx context.Context, limit int64, keys ...string) *IntCmd
ZInterStore(ctx context.Context, destination string, store *ZStore) *IntCmd
ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
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
ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
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
ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
ZRandMemberWithScores(ctx context.Context, key string, count int) *ZSliceCmd
ZUnion(ctx context.Context, store ZStore) *StringSliceCmd
ZUnionWithScores(ctx context.Context, store ZStore) *ZSliceCmd
ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
ZDiffWithScores(ctx context.Context, keys ...string) *ZSliceCmd
ZDiffStore(ctx context.Context, destination string, keys ...string) *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
ClientUnpause(ctx context.Context) *BoolCmd
ClientID(ctx context.Context) *IntCmd
ClientUnblock(ctx context.Context, id int64) *IntCmd
ClientUnblockWithError(ctx context.Context, id int64) *IntCmd
ConfigGet(ctx context.Context, parameter string) *MapStringStringCmd
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
SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
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
EvalRO(ctx context.Context, script string, keys []string, args ...interface{}) *Cmd
EvalShaRO(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
SPublish(ctx context.Context, channel string, message interface{}) *IntCmd
PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
PubSubNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
PubSubNumPat(ctx context.Context) *IntCmd
PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
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
GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
GeoSearchLocation(ctx context.Context, key string, q *GeoSearchLocationQuery) *GeoSearchLocationCmd
GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *IntCmd
GeoDist(ctx context.Context, key string, member1, member2, unit string) *FloatCmd
GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
}
type CommandInfo ¶
type CommandsInfoCmd ¶
type CommandsInfoCmd struct {
// contains filtered or unexported fields
}
func NewCommandsInfoCmd ¶
func NewCommandsInfoCmd(ctx context.Context, args ...interface{}) *CommandsInfoCmd
func NewCommandsInfoCmdResult ¶
func NewCommandsInfoCmdResult(val map[string]*CommandInfo, err error) *CommandsInfoCmd
NewCommandsInfoCmdResult returns a CommandsInfoCmd initialised with val and err for testing.
func (*CommandsInfoCmd) Result ¶
func (cmd *CommandsInfoCmd) Result() (map[string]*CommandInfo, error)
func (*CommandsInfoCmd) SetFirstKeyPos ¶
func (cmd *CommandsInfoCmd) SetFirstKeyPos(keyPos int8)
func (*CommandsInfoCmd) SetVal ¶
func (cmd *CommandsInfoCmd) SetVal(val map[string]*CommandInfo)
func (*CommandsInfoCmd) String ¶
func (cmd *CommandsInfoCmd) String() string
func (*CommandsInfoCmd) Val ¶
func (cmd *CommandsInfoCmd) Val() map[string]*CommandInfo
type Conn ¶
type Conn struct {
// contains filtered or unexported fields
}
Conn represents a single Redis connection rather than a pool of connections. Prefer running commands from Client unless there is a specific need for a continuous single Redis connection.
func (*Conn) AddHook ¶
func (hs *Conn) AddHook(hook Hook)
AddHook is to add a hook to the queue. Hook is a function executed during network connection, command execution, and pipeline, it is a first-in-first-out stack queue (FIFO). You need to execute the next hook in each hook, unless you want to terminate the execution of the command. For example, you added hook-1, hook-2:
client.AddHook(hook-1, hook-2)
hook-1:
func (Hook1) ProcessHook(next redis.ProcessHook) redis.ProcessHook {
return func(ctx context.Context, cmd Cmder) error {
print("hook-1 start")
next(ctx, cmd)
print("hook-1 end")
return nil
}
}
hook-2:
func (Hook2) ProcessHook(next redis.ProcessHook) redis.ProcessHook {
return func(ctx context.Context, cmd redis.Cmder) error {
print("hook-2 start")
next(ctx, cmd)
print("hook-2 end")
return nil
}
}
The execution sequence is:
hook-1 start -> hook-2 start -> exec redis cmd -> hook-2 end -> hook-1 end
Please note: "next(ctx, cmd)" is very important, it will call the next hook, if "next(ctx, cmd)" is not executed, the redis command will not be executed.
func (Conn) AuthACL ¶
AuthACL 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.
func (Conn) BRPopLPush ¶
func (Conn) BgRewriteAOF ¶
func (Conn) BitField ¶
func (c Conn) BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
func (Conn) ClientGetName ¶
ClientGetName returns the name of the connection.
func (Conn) ClientKillByFilter ¶
ClientKillByFilter is new style syntax, while the ClientKill is old
CLIENT KILL <option> [value] ... <option> [value]
func (Conn) ClientList ¶
func (Conn) ClientPause ¶
func (Conn) ClientSetName ¶
ClientSetName assigns a name to the connection.
func (Conn) ClientUnblockWithError ¶
func (Conn) ClientUnpause ¶
func (*Conn) Close ¶
func (c *Conn) 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 (Conn) ClusterAddSlots ¶
func (Conn) ClusterAddSlotsRange ¶
func (Conn) ClusterCountFailureReports ¶
func (Conn) ClusterCountKeysInSlot ¶
func (Conn) ClusterDelSlots ¶
func (Conn) ClusterDelSlotsRange ¶
func (Conn) ClusterFailover ¶
func (Conn) ClusterForget ¶
func (Conn) ClusterGetKeysInSlot ¶
func (c Conn) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
func (Conn) ClusterInfo ¶
func (Conn) ClusterMeet ¶
func (Conn) ClusterNodes ¶
func (Conn) ClusterReplicate ¶
func (Conn) ClusterResetHard ¶
func (Conn) ClusterResetSoft ¶
func (Conn) ClusterSaveConfig ¶
func (Conn) ClusterSlaves ¶
func (c Conn) ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
func (Conn) ClusterSlots ¶
func (c Conn) ClusterSlots(ctx context.Context) *ClusterSlotsCmd
func (Conn) Command ¶
func (c Conn) Command(ctx context.Context) *CommandsInfoCmd
func (Conn) ConfigGet ¶
func (c Conn) ConfigGet(ctx context.Context, parameter string) *MapStringStringCmd
func (Conn) ConfigResetStat ¶
func (Conn) ConfigRewrite ¶
func (Conn) FlushAllAsync ¶
func (Conn) FlushDBAsync ¶
func (Conn) GeoAdd ¶
func (c Conn) GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
func (Conn) GeoHash ¶
func (c Conn) GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
func (Conn) GeoRadius ¶
func (c Conn) GeoRadius( ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery, ) *GeoLocationCmd
GeoRadius is a read-only GEORADIUS_RO command.
func (Conn) GeoRadiusByMember ¶
func (c Conn) GeoRadiusByMember( ctx context.Context, key, member string, query *GeoRadiusQuery, ) *GeoLocationCmd
GeoRadiusByMember is a read-only GEORADIUSBYMEMBER_RO command.
func (Conn) GeoRadiusByMemberStore ¶
func (c Conn) GeoRadiusByMemberStore( ctx context.Context, key, member string, query *GeoRadiusQuery, ) *IntCmd
GeoRadiusByMemberStore is a writing GEORADIUSBYMEMBER command.
func (Conn) GeoRadiusStore ¶
func (c Conn) GeoRadiusStore( ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery, ) *IntCmd
GeoRadiusStore is a writing GEORADIUS command.
func (Conn) GeoSearch ¶
func (c Conn) GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
func (Conn) GeoSearchLocation ¶
func (c Conn) GeoSearchLocation( ctx context.Context, key string, q *GeoSearchLocationQuery, ) *GeoSearchLocationCmd
func (Conn) GeoSearchStore ¶
func (c Conn) GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *IntCmd
func (Conn) GetEx ¶
GetEx An expiration of zero removes the TTL associated with the key (i.e. GETEX key persist). Requires Redis >= 6.2.0.
func (Conn) HIncrByFloat ¶
func (Conn) HMGet ¶
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 (Conn) HRandField ¶
func (c Conn) HRandField(ctx context.Context, key string, count int) *StringSliceCmd
HRandField redis-server version >= 6.2.0.
func (Conn) HRandFieldWithValues ¶
func (c Conn) HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
HRandFieldWithValues redis-server version >= 6.2.0.
func (Conn) HSet ¶
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"})
Playing struct With "redis" tag. type MyHash struct { Key1 string `redis:"key1"`; Key2 int `redis:"key2"` }
HSet("myhash", MyHash{"value1", "value2"})
For struct, can be a structure pointer type, we only parse the field whose tag is redis. if you don't want the field to be read, you can use the `redis:"-"` flag to ignore it, or you don't need to set the redis tag. For the type of structure field, we only support simple data types: string, int/uint(8,16,32,64), float(32,64), time.Time(to RFC3339Nano), time.Duration(to Nanoseconds ), if you are other more complex or custom data types, please implement the encoding.BinaryMarshaler interface.
Note that it requires Redis v4 for multiple field/value pairs support.
func (Conn) Hello ¶
func (c Conn) Hello(ctx context.Context, ver int, username, password, clientName string) *MapStringInterfaceCmd
Hello Set the resp protocol used.
func (Conn) IncrByFloat ¶
func (Conn) LInsertAfter ¶
func (Conn) LInsertBefore ¶
func (Conn) LPopCount ¶
func (c Conn) LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
func (Conn) LRange ¶
func (c Conn) LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Conn) MSet ¶
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"})
- MSet(struct), For struct types, see HSet description.
func (Conn) MSetNX ¶
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"})
- MSetNX(struct), For struct types, see HSet description.
func (Conn) MemoryUsage ¶
func (Conn) ObjectEncoding ¶
func (Conn) ObjectIdleTime ¶
func (c Conn) ObjectIdleTime(ctx context.Context, key string) *DurationCmd
func (Conn) PubSubChannels ¶
func (c Conn) PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
func (Conn) PubSubNumPat ¶
func (Conn) PubSubNumSub ¶
func (c Conn) PubSubNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
func (Conn) PubSubShardChannels ¶
func (c Conn) PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
func (Conn) PubSubShardNumSub ¶
func (c Conn) PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
func (Conn) RPopCount ¶
func (c Conn) RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
func (Conn) RestoreReplace ¶
func (Conn) SDiffStore ¶
func (Conn) SInterCard ¶
func (Conn) SInterStore ¶
func (Conn) SMIsMember ¶
func (c Conn) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
SMIsMember Redis `SMISMEMBER key member [member ...]` command.
func (Conn) SMembers ¶
func (c Conn) SMembers(ctx context.Context, key string) *StringSliceCmd
SMembers Redis `SMEMBERS key` command output as a slice.
func (Conn) SMembersMap ¶
func (c Conn) SMembersMap(ctx context.Context, key string) *StringStructMapCmd
SMembersMap Redis `SMEMBERS key` command output as a map.
func (Conn) SPopN ¶
func (c Conn) SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
SPopN Redis `SPOP key count` command.
func (Conn) SRandMember ¶
SRandMember Redis `SRANDMEMBER key` command.
func (Conn) SRandMemberN ¶
func (c Conn) SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
SRandMemberN Redis `SRANDMEMBER key count` command.
func (Conn) SUnionStore ¶
func (Conn) ScriptExists ¶
func (c Conn) ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
func (Conn) ScriptFlush ¶
func (Conn) ScriptKill ¶
func (Conn) Set ¶
func (c Conn) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
Set Redis `SET key value [expiration]` command. Use expiration for `SETEx`-like behavior.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Conn) SetArgs ¶
SetArgs supports all the options that the SET command supports. It is the alternative to the Set function when you want to have more control over the options.
func (Conn) SetEx ¶
func (c Conn) SetEx(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
SetEx Redis `SETEx key expiration value` command.
func (Conn) SetNX ¶
func (c Conn) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetNX Redis `SET key value [expiration] NX` command.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Conn) SetXX ¶
func (c Conn) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetXX Redis `SET key value [expiration] XX` command.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Conn) ShutdownNoSave ¶
func (Conn) ShutdownSave ¶
func (Conn) SlowLogGet ¶
func (c Conn) SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
func (Conn) SortInterfaces ¶
func (Conn) SortRO ¶
func (c Conn) SortRO(ctx context.Context, key string, sort *Sort) *StringSliceCmd
func (*Conn) TxPipeline ¶
TxPipeline acts like Pipeline, but wraps queued commands with MULTI/EXEC.
func (*Conn) TxPipelined ¶
func (Conn) XAutoClaim ¶
func (c Conn) XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
func (Conn) XAutoClaimJustID ¶
func (c Conn) XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
func (Conn) XClaim ¶
func (c Conn) XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
func (Conn) XClaimJustID ¶
func (c Conn) XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
func (Conn) XGroupCreate ¶
func (Conn) XGroupCreateConsumer ¶
func (Conn) XGroupCreateMkStream ¶
func (Conn) XGroupDelConsumer ¶
func (Conn) XGroupDestroy ¶
func (Conn) XGroupSetID ¶
func (Conn) XInfoConsumers ¶
func (c Conn) XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
func (Conn) XInfoGroups ¶
func (c Conn) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
func (Conn) XInfoStream ¶
func (c Conn) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
func (Conn) XInfoStreamFull ¶
func (c Conn) XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
XInfoStreamFull XINFO STREAM FULL [COUNT count] redis-server >= 6.0.
func (Conn) XPending ¶
func (c Conn) XPending(ctx context.Context, stream, group string) *XPendingCmd
func (Conn) XPendingExt ¶
func (c Conn) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
func (Conn) XRange ¶
func (c Conn) XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
func (Conn) XRangeN ¶
func (c Conn) XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
func (Conn) XReadGroup ¶
func (c Conn) XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
func (Conn) XReadStreams ¶
func (c Conn) XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
func (Conn) XRevRange ¶
func (c Conn) XRevRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
func (Conn) XRevRangeN ¶
func (c Conn) XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
func (Conn) XTrimMaxLen ¶
XTrimMaxLen No `~` rules are used, `limit` cannot be used. cmd: XTRIM key MAXLEN maxLen
func (Conn) XTrimMaxLenApprox ¶
func (Conn) XTrimMinID ¶
func (Conn) XTrimMinIDApprox ¶
func (Conn) ZAddArgsIncr ¶
func (Conn) ZDiff ¶
func (c Conn) ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
ZDiff redis-server version >= 6.2.0.
func (Conn) ZDiffStore ¶
ZDiffStore redis-server version >=6.2.0.
func (Conn) ZDiffWithScores ¶
ZDiffWithScores redis-server version >= 6.2.0.
func (Conn) ZInterCard ¶
func (Conn) ZInterStore ¶
func (Conn) ZInterWithScores ¶
func (Conn) ZMScore ¶
func (c Conn) ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
func (Conn) ZRandMember ¶
func (c Conn) ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
ZRandMember redis-server version >= 6.2.0.
func (Conn) ZRandMemberWithScores ¶
ZRandMemberWithScores redis-server version >= 6.2.0.
func (Conn) ZRange ¶
func (c Conn) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Conn) ZRangeArgs ¶
func (c Conn) ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
func (Conn) ZRangeArgsWithScores ¶
func (c Conn) ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
func (Conn) ZRangeByLex ¶
func (c Conn) ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Conn) ZRangeByScore ¶
func (c Conn) ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Conn) ZRangeByScoreWithScores ¶
func (Conn) ZRangeStore ¶
func (c Conn) ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
func (Conn) ZRangeWithScores ¶
func (Conn) ZRemRangeByLex ¶
func (Conn) ZRemRangeByRank ¶
func (Conn) ZRemRangeByScore ¶
func (Conn) ZRevRange ¶
func (c Conn) ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Conn) ZRevRangeByLex ¶
func (c Conn) ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Conn) ZRevRangeByScore ¶
func (c Conn) ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Conn) ZRevRangeByScoreWithScores ¶
func (Conn) ZRevRangeWithScores ¶
func (Conn) ZUnionStore ¶
type ConsistentHash ¶
type DurationCmd ¶
type DurationCmd struct {
// contains filtered or unexported fields
}
func NewDurationCmd ¶
func NewDurationCmd(ctx context.Context, precision time.Duration, args ...interface{}) *DurationCmd
func NewDurationResult ¶
func NewDurationResult(val time.Duration, err error) *DurationCmd
NewDurationResult returns a DurationCmd initialised with val and err for testing.
func (*DurationCmd) SetFirstKeyPos ¶
func (cmd *DurationCmd) SetFirstKeyPos(keyPos int8)
func (*DurationCmd) SetVal ¶
func (cmd *DurationCmd) SetVal(val time.Duration)
func (*DurationCmd) String ¶
func (cmd *DurationCmd) String() string
func (*DurationCmd) Val ¶
func (cmd *DurationCmd) Val() time.Duration
type Error ¶
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()
}
type FailoverOptions ¶
type FailoverOptions struct {
// The master name.
MasterName string
// A seed list of host:port addresses of sentinel nodes.
SentinelAddrs []string
// ClientName will execute the `CLIENT SETNAME ClientName` command for each conn.
ClientName string
// If specified with SentinelPassword, enables ACL-based authentication (via
// AUTH <user> <pass>).
SentinelUsername string
// Sentinel password from "requirepass <password>" (if enabled) in Sentinel
// configuration, or, if SentinelUsername is also supplied, used for ACL-based
// authentication.
SentinelPassword string
// Allows routing read-only commands to the closest master or replica node.
// This option only works with NewFailoverClusterClient.
RouteByLatency bool
// Allows routing read-only commands to the random master or replica node.
// This option only works with NewFailoverClusterClient.
RouteRandomly bool
// Route all commands to replica read-only nodes.
ReplicaOnly bool
// Use replicas disconnected with master when cannot get connected replicas
// Now, this option only works in RandomReplicaAddr function.
UseDisconnectedReplicas bool
Dialer func(ctx context.Context, network, addr string) (net.Conn, error)
OnConnect func(ctx context.Context, cn *Conn) error
Username string
Password string
DB int
MaxRetries int
MinRetryBackoff time.Duration
MaxRetryBackoff time.Duration
DialTimeout time.Duration
ReadTimeout time.Duration
WriteTimeout time.Duration
ContextTimeoutEnabled bool
PoolFIFO bool
PoolSize int
PoolTimeout time.Duration
MinIdleConns int
MaxIdleConns int
ConnMaxIdleTime time.Duration
ConnMaxLifetime time.Duration
TLSConfig *tls.Config
}
FailoverOptions are used to configure a failover client and should be passed to NewFailoverClient.
type FloatCmd ¶
type FloatCmd struct {
// contains filtered or unexported fields
}
func NewFloatCmd ¶
func NewFloatResult ¶
NewFloatResult returns a FloatCmd initialised with val and err for testing.
func (*FloatCmd) SetFirstKeyPos ¶
func (cmd *FloatCmd) SetFirstKeyPos(keyPos int8)
type FloatSliceCmd ¶
type FloatSliceCmd struct {
// contains filtered or unexported fields
}
func NewFloatSliceCmd ¶
func NewFloatSliceCmd(ctx context.Context, args ...interface{}) *FloatSliceCmd
func (*FloatSliceCmd) Result ¶
func (cmd *FloatSliceCmd) Result() ([]float64, error)
func (*FloatSliceCmd) SetFirstKeyPos ¶
func (cmd *FloatSliceCmd) SetFirstKeyPos(keyPos int8)
func (*FloatSliceCmd) SetVal ¶
func (cmd *FloatSliceCmd) SetVal(val []float64)
func (*FloatSliceCmd) String ¶
func (cmd *FloatSliceCmd) String() string
func (*FloatSliceCmd) Val ¶
func (cmd *FloatSliceCmd) Val() []float64
type GeoLocation ¶
GeoLocation is used with GeoAdd to add geospatial location.
type GeoLocationCmd ¶
type GeoLocationCmd struct {
// contains filtered or unexported fields
}
func NewGeoLocationCmd ¶
func NewGeoLocationCmd(ctx context.Context, q *GeoRadiusQuery, args ...interface{}) *GeoLocationCmd
func NewGeoLocationCmdResult ¶
func NewGeoLocationCmdResult(val []GeoLocation, err error) *GeoLocationCmd
NewGeoLocationCmdResult returns a GeoLocationCmd initialised with val and err for testing.
func (*GeoLocationCmd) Result ¶
func (cmd *GeoLocationCmd) Result() ([]GeoLocation, error)
func (*GeoLocationCmd) SetFirstKeyPos ¶
func (cmd *GeoLocationCmd) SetFirstKeyPos(keyPos int8)
func (*GeoLocationCmd) SetVal ¶
func (cmd *GeoLocationCmd) SetVal(locations []GeoLocation)
func (*GeoLocationCmd) String ¶
func (cmd *GeoLocationCmd) String() string
func (*GeoLocationCmd) Val ¶
func (cmd *GeoLocationCmd) Val() []GeoLocation
type GeoPosCmd ¶
type GeoPosCmd struct {
// contains filtered or unexported fields
}
func NewGeoPosCmd ¶
func NewGeoPosCmdResult ¶
NewGeoPosCmdResult returns a GeoPosCmd initialised with val and err for testing.
func (*GeoPosCmd) SetFirstKeyPos ¶
func (cmd *GeoPosCmd) SetFirstKeyPos(keyPos int8)
type GeoRadiusQuery ¶
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
// contains filtered or unexported fields
}
GeoRadiusQuery is used with GeoRadius to query geospatial index.
type GeoSearchLocationCmd ¶
type GeoSearchLocationCmd struct {
// contains filtered or unexported fields
}
func NewGeoSearchLocationCmd ¶
func NewGeoSearchLocationCmd( ctx context.Context, opt *GeoSearchLocationQuery, args ...interface{}, ) *GeoSearchLocationCmd
func (*GeoSearchLocationCmd) Result ¶
func (cmd *GeoSearchLocationCmd) Result() ([]GeoLocation, error)
func (*GeoSearchLocationCmd) SetFirstKeyPos ¶
func (cmd *GeoSearchLocationCmd) SetFirstKeyPos(keyPos int8)
func (*GeoSearchLocationCmd) SetVal ¶
func (cmd *GeoSearchLocationCmd) SetVal(val []GeoLocation)
func (*GeoSearchLocationCmd) String ¶
func (cmd *GeoSearchLocationCmd) String() string
func (*GeoSearchLocationCmd) Val ¶
func (cmd *GeoSearchLocationCmd) Val() []GeoLocation
type GeoSearchLocationQuery ¶
type GeoSearchLocationQuery struct {
GeoSearchQuery
WithCoord bool
WithDist bool
WithHash bool
}
type GeoSearchQuery ¶
type GeoSearchQuery struct {
Member string
// Latitude and Longitude when using FromLonLat option.
Longitude float64
Latitude float64
// Distance and unit when using ByRadius option.
// Can use m, km, ft, or mi. Default is km.
Radius float64
RadiusUnit string
// Height, width and unit when using ByBox option.
// Can be m, km, ft, or mi. Default is km.
BoxWidth float64
BoxHeight float64
BoxUnit string
// Can be ASC or DESC. Default is no sort order.
Sort string
Count int
CountAny bool
}
GeoSearchQuery is used for GEOSearch/GEOSearchStore command query.
type GeoSearchStoreQuery ¶
type GeoSearchStoreQuery struct {
GeoSearchQuery
// When using the StoreDist option, the command stores the items in a
// sorted set populated with their distance from the center of the circle or box,
// as a floating-point number, in the same unit specified for that shape.
StoreDist bool
}
type Hook ¶
type Hook interface {
DialHook(next DialHook) DialHook
ProcessHook(next ProcessHook) ProcessHook
ProcessPipelineHook(next ProcessPipelineHook) ProcessPipelineHook
}
type IntCmd ¶
type IntCmd struct {
// contains filtered or unexported fields
}
func NewIntResult ¶
NewIntResult returns an IntCmd initialised with val and err for testing.
func (*IntCmd) SetFirstKeyPos ¶
func (cmd *IntCmd) SetFirstKeyPos(keyPos int8)
type IntSliceCmd ¶
type IntSliceCmd struct {
// contains filtered or unexported fields
}
func NewIntSliceCmd ¶
func NewIntSliceCmd(ctx context.Context, args ...interface{}) *IntSliceCmd
func (*IntSliceCmd) Result ¶
func (cmd *IntSliceCmd) Result() ([]int64, error)
func (*IntSliceCmd) SetFirstKeyPos ¶
func (cmd *IntSliceCmd) SetFirstKeyPos(keyPos int8)
func (*IntSliceCmd) SetVal ¶
func (cmd *IntSliceCmd) SetVal(val []int64)
func (*IntSliceCmd) String ¶
func (cmd *IntSliceCmd) String() string
func (*IntSliceCmd) Val ¶
func (cmd *IntSliceCmd) Val() []int64
type KeyValueSliceCmd ¶
type KeyValueSliceCmd struct {
// contains filtered or unexported fields
}
func NewKeyValueSliceCmd ¶
func NewKeyValueSliceCmd(ctx context.Context, args ...interface{}) *KeyValueSliceCmd
func (*KeyValueSliceCmd) Result ¶
func (cmd *KeyValueSliceCmd) Result() ([]KeyValue, error)
func (*KeyValueSliceCmd) SetFirstKeyPos ¶
func (cmd *KeyValueSliceCmd) SetFirstKeyPos(keyPos int8)
func (*KeyValueSliceCmd) SetVal ¶
func (cmd *KeyValueSliceCmd) SetVal(val []KeyValue)
func (*KeyValueSliceCmd) String ¶
func (cmd *KeyValueSliceCmd) String() string
func (*KeyValueSliceCmd) Val ¶
func (cmd *KeyValueSliceCmd) Val() []KeyValue
type Limiter ¶
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.
type MapStringIntCmd ¶
type MapStringIntCmd struct {
// contains filtered or unexported fields
}
func NewMapStringIntCmd ¶
func NewMapStringIntCmd(ctx context.Context, args ...interface{}) *MapStringIntCmd
func NewMapStringIntCmdResult ¶
func NewMapStringIntCmdResult(val map[string]int64, err error) *MapStringIntCmd
NewMapStringIntCmdResult returns a MapStringIntCmd initialised with val and err for testing.
func (*MapStringIntCmd) SetFirstKeyPos ¶
func (cmd *MapStringIntCmd) SetFirstKeyPos(keyPos int8)
func (*MapStringIntCmd) SetVal ¶
func (cmd *MapStringIntCmd) SetVal(val map[string]int64)
func (*MapStringIntCmd) String ¶
func (cmd *MapStringIntCmd) String() string
func (*MapStringIntCmd) Val ¶
func (cmd *MapStringIntCmd) Val() map[string]int64
type MapStringInterfaceCmd ¶
type MapStringInterfaceCmd struct {
// contains filtered or unexported fields
}
func NewMapStringInterfaceCmd ¶
func NewMapStringInterfaceCmd(ctx context.Context, args ...interface{}) *MapStringInterfaceCmd
func (*MapStringInterfaceCmd) Result ¶
func (cmd *MapStringInterfaceCmd) Result() (map[string]interface{}, error)
func (*MapStringInterfaceCmd) SetFirstKeyPos ¶
func (cmd *MapStringInterfaceCmd) SetFirstKeyPos(keyPos int8)
func (*MapStringInterfaceCmd) SetVal ¶
func (cmd *MapStringInterfaceCmd) SetVal(val map[string]interface{})
func (*MapStringInterfaceCmd) String ¶
func (cmd *MapStringInterfaceCmd) String() string
func (*MapStringInterfaceCmd) Val ¶
func (cmd *MapStringInterfaceCmd) Val() map[string]interface{}
type MapStringStringCmd ¶
type MapStringStringCmd struct {
// contains filtered or unexported fields
}
func NewMapStringStringCmd ¶
func NewMapStringStringCmd(ctx context.Context, args ...interface{}) *MapStringStringCmd
func NewMapStringStringResult ¶
func NewMapStringStringResult(val map[string]string, err error) *MapStringStringCmd
NewStringStringMapResult returns a StringStringMapCmd initialised with val and err for testing.
func (*MapStringStringCmd) Result ¶
func (cmd *MapStringStringCmd) Result() (map[string]string, error)
func (*MapStringStringCmd) Scan ¶
func (cmd *MapStringStringCmd) Scan(dest interface{}) error
Scan scans the results from the map into a destination struct. The map keys are matched in the Redis struct fields by the `redis:"field"` tag.
func (*MapStringStringCmd) SetFirstKeyPos ¶
func (cmd *MapStringStringCmd) SetFirstKeyPos(keyPos int8)
func (*MapStringStringCmd) SetVal ¶
func (cmd *MapStringStringCmd) SetVal(val map[string]string)
func (*MapStringStringCmd) String ¶
func (cmd *MapStringStringCmd) String() string
func (*MapStringStringCmd) Val ¶
func (cmd *MapStringStringCmd) Val() map[string]string
type MapStringStringSliceCmd ¶
type MapStringStringSliceCmd struct {
// contains filtered or unexported fields
}
func NewMapStringStringSliceCmd ¶
func NewMapStringStringSliceCmd(ctx context.Context, args ...interface{}) *MapStringStringSliceCmd
func (*MapStringStringSliceCmd) Result ¶
func (cmd *MapStringStringSliceCmd) Result() ([]map[string]string, error)
func (*MapStringStringSliceCmd) SetFirstKeyPos ¶
func (cmd *MapStringStringSliceCmd) SetFirstKeyPos(keyPos int8)
func (*MapStringStringSliceCmd) SetVal ¶
func (cmd *MapStringStringSliceCmd) SetVal(val []map[string]string)
func (*MapStringStringSliceCmd) String ¶
func (cmd *MapStringStringSliceCmd) String() string
func (*MapStringStringSliceCmd) Val ¶
func (cmd *MapStringStringSliceCmd) Val() []map[string]string
type Options ¶
type Options struct {
// The network type, either tcp or unix.
// Default is tcp.
Network string
// host:port address.
Addr string
// ClientName will execute the `CLIENT SETNAME ClientName` command for each conn.
ClientName 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
// CredentialsProvider allows the username and password to be updated
// before reconnecting. It should return the current username and password.
CredentialsProvider func() (username string, 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. Supported values:
// - `0` - default timeout (3 seconds).
// - `-1` - no timeout (block indefinitely).
// - `-2` - disables SetReadDeadline calls completely.
ReadTimeout time.Duration
// Timeout for socket writes. If reached, commands will fail
// with a timeout instead of blocking. Supported values:
// - `0` - default timeout (3 seconds).
// - `-1` - no timeout (block indefinitely).
// - `-2` - disables SetWriteDeadline calls completely.
WriteTimeout time.Duration
// ContextTimeoutEnabled controls whether the client respects context timeouts and deadlines.
// See https://redis.uptrace.dev/guide/go-redis-debugging.html#timeouts
ContextTimeoutEnabled bool
// Type of connection pool.
// true for FIFO pool, false for LIFO pool.
// Note that FIFO has slightly higher overhead compared to LIFO,
// but it helps closing idle connections faster reducing the pool size.
PoolFIFO bool
// Maximum number of socket connections.
// Default is 10 connections per every available CPU as reported by runtime.GOMAXPROCS.
PoolSize int
// Amount of time client waits for connection if all connections
// are busy before returning an error.
// Default is ReadTimeout + 1 second.
PoolTimeout time.Duration
// Minimum number of idle connections which is useful when establishing
// new connection is slow.
MinIdleConns int
// Maximum number of idle connections.
MaxIdleConns int
// ConnMaxIdleTime is the maximum amount of time a connection may be idle.
// Should be less than server's timeout.
//
// Expired connections may be closed lazily before reuse.
// If d <= 0, connections are not closed due to a connection's idle time.
//
// Default is 30 minutes. -1 disables idle timeout check.
ConnMaxIdleTime time.Duration
// ConnMaxLifetime is the maximum amount of time a connection may be reused.
//
// Expired connections may be closed lazily before reuse.
// If <= 0, connections are not closed due to a connection's age.
//
// Default is to not close idle connections.
ConnMaxLifetime time.Duration
// TLS Config to use. When set, TLS will be negotiated.
TLSConfig *tls.Config
// Limiter interface used to implement circuit breaker or rate limiter.
Limiter Limiter
// contains filtered or unexported fields
}
Options keeps the settings to set up redis connection.
func ParseURL ¶
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>
Most Option fields can be set using query parameters, with the following restrictions:
- field names are mapped using snake-case conversion: to set MaxRetries, use max_retries
- only scalar type fields are supported (bool, int, time.Duration)
- for time.Duration fields, values must be a valid input for time.ParseDuration(); additionally a plain integer as value (i.e. without unit) is intepreted as seconds
- to disable a duration field, use value less than or equal to 0; to use the default value, leave the value blank or remove the parameter
- only the last value is interpreted if a parameter is given multiple times
- fields "network", "addr", "username" and "password" can only be set using other URL attributes (scheme, host, userinfo, resp.), query paremeters using these names will be treated as unknown parameters
- unknown parameter names will result in an error
Examples:
redis://user:password@localhost:6789/3?dial_timeout=3&db=1&read_timeout=6s&max_retries=2
is equivalent to:
&Options{
Network: "tcp",
Addr: "localhost:6789",
DB: 1, // path "/3" was overridden by "&db=1"
DialTimeout: 3 * time.Second, // no time unit = seconds
ReadTimeout: 6 * time.Second,
MaxRetries: 2,
}
type Pipeline ¶
type Pipeline struct {
// contains filtered or unexported fields
}
Pipeline implements pipelining as described in http://redis.io/topics/pipelining. Please note: it is not safe for concurrent use by multiple goroutines.
func (Pipeline) AuthACL ¶
AuthACL 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.
func (Pipeline) BRPopLPush ¶
func (Pipeline) BgRewriteAOF ¶
func (Pipeline) BitField ¶
func (c Pipeline) BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
func (Pipeline) ClientGetName ¶
ClientGetName returns the name of the connection.
func (Pipeline) ClientKill ¶
func (Pipeline) ClientKillByFilter ¶
ClientKillByFilter is new style syntax, while the ClientKill is old
CLIENT KILL <option> [value] ... <option> [value]
func (Pipeline) ClientList ¶
func (Pipeline) ClientPause ¶
func (Pipeline) ClientSetName ¶
ClientSetName assigns a name to the connection.
func (Pipeline) ClientUnblock ¶
func (Pipeline) ClientUnblockWithError ¶
func (Pipeline) ClientUnpause ¶
func (Pipeline) ClusterAddSlots ¶
func (Pipeline) ClusterAddSlotsRange ¶
func (Pipeline) ClusterCountFailureReports ¶
func (Pipeline) ClusterCountKeysInSlot ¶
func (Pipeline) ClusterDelSlots ¶
func (Pipeline) ClusterDelSlotsRange ¶
func (Pipeline) ClusterFailover ¶
func (Pipeline) ClusterForget ¶
func (Pipeline) ClusterGetKeysInSlot ¶
func (c Pipeline) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
func (Pipeline) ClusterInfo ¶
func (Pipeline) ClusterKeySlot ¶
func (Pipeline) ClusterMeet ¶
func (Pipeline) ClusterNodes ¶
func (Pipeline) ClusterReplicate ¶
func (Pipeline) ClusterResetHard ¶
func (Pipeline) ClusterResetSoft ¶
func (Pipeline) ClusterSaveConfig ¶
func (Pipeline) ClusterSlaves ¶
func (c Pipeline) ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
func (Pipeline) ClusterSlots ¶
func (c Pipeline) ClusterSlots(ctx context.Context) *ClusterSlotsCmd
func (Pipeline) Command ¶
func (c Pipeline) Command(ctx context.Context) *CommandsInfoCmd
func (Pipeline) ConfigGet ¶
func (c Pipeline) ConfigGet(ctx context.Context, parameter string) *MapStringStringCmd
func (Pipeline) ConfigResetStat ¶
func (Pipeline) ConfigRewrite ¶
func (Pipeline) DebugObject ¶
func (*Pipeline) Discard ¶
func (c *Pipeline) Discard()
Discard resets the pipeline and discards queued commands.
func (*Pipeline) Exec ¶
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.
func (Pipeline) FlushAllAsync ¶
func (Pipeline) FlushDBAsync ¶
func (Pipeline) GeoAdd ¶
func (c Pipeline) GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
func (Pipeline) GeoHash ¶
func (c Pipeline) GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
func (Pipeline) GeoRadius ¶
func (c Pipeline) GeoRadius( ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery, ) *GeoLocationCmd
GeoRadius is a read-only GEORADIUS_RO command.
func (Pipeline) GeoRadiusByMember ¶
func (c Pipeline) GeoRadiusByMember( ctx context.Context, key, member string, query *GeoRadiusQuery, ) *GeoLocationCmd
GeoRadiusByMember is a read-only GEORADIUSBYMEMBER_RO command.
func (Pipeline) GeoRadiusByMemberStore ¶
func (c Pipeline) GeoRadiusByMemberStore( ctx context.Context, key, member string, query *GeoRadiusQuery, ) *IntCmd
GeoRadiusByMemberStore is a writing GEORADIUSBYMEMBER command.
func (Pipeline) GeoRadiusStore ¶
func (c Pipeline) GeoRadiusStore( ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery, ) *IntCmd
GeoRadiusStore is a writing GEORADIUS command.
func (Pipeline) GeoSearch ¶
func (c Pipeline) GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
func (Pipeline) GeoSearchLocation ¶
func (c Pipeline) GeoSearchLocation( ctx context.Context, key string, q *GeoSearchLocationQuery, ) *GeoSearchLocationCmd
func (Pipeline) GeoSearchStore ¶
func (c Pipeline) GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *IntCmd
func (Pipeline) Get ¶
Get Redis `GET key` command. It returns redis.Nil error when key does not exist.
func (Pipeline) GetEx ¶
GetEx An expiration of zero removes the TTL associated with the key (i.e. GETEX key persist). Requires Redis >= 6.2.0.
func (Pipeline) HGetAll ¶
func (c Pipeline) HGetAll(ctx context.Context, key string) *MapStringStringCmd
func (Pipeline) HIncrByFloat ¶
func (Pipeline) HMGet ¶
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 (Pipeline) HRandField ¶
func (c Pipeline) HRandField(ctx context.Context, key string, count int) *StringSliceCmd
HRandField redis-server version >= 6.2.0.
func (Pipeline) HRandFieldWithValues ¶
func (c Pipeline) HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
HRandFieldWithValues redis-server version >= 6.2.0.
func (Pipeline) HSet ¶
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"})
Playing struct With "redis" tag. type MyHash struct { Key1 string `redis:"key1"`; Key2 int `redis:"key2"` }
HSet("myhash", MyHash{"value1", "value2"})
For struct, can be a structure pointer type, we only parse the field whose tag is redis. if you don't want the field to be read, you can use the `redis:"-"` flag to ignore it, or you don't need to set the redis tag. For the type of structure field, we only support simple data types: string, int/uint(8,16,32,64), float(32,64), time.Time(to RFC3339Nano), time.Duration(to Nanoseconds ), if you are other more complex or custom data types, please implement the encoding.BinaryMarshaler interface.
Note that it requires Redis v4 for multiple field/value pairs support.
func (Pipeline) Hello ¶
func (c Pipeline) Hello(ctx context.Context, ver int, username, password, clientName string) *MapStringInterfaceCmd
Hello Set the resp protocol used.
func (Pipeline) IncrByFloat ¶
func (Pipeline) LInsertAfter ¶
func (Pipeline) LInsertBefore ¶
func (Pipeline) LPopCount ¶
func (c Pipeline) LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
func (Pipeline) LRange ¶
func (c Pipeline) LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Pipeline) MSet ¶
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"})
- MSet(struct), For struct types, see HSet description.
func (Pipeline) MSetNX ¶
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"})
- MSetNX(struct), For struct types, see HSet description.
func (Pipeline) MemoryUsage ¶
func (Pipeline) ObjectEncoding ¶
func (Pipeline) ObjectIdleTime ¶
func (c Pipeline) ObjectIdleTime(ctx context.Context, key string) *DurationCmd
func (Pipeline) ObjectRefCount ¶
func (Pipeline) PubSubChannels ¶
func (c Pipeline) PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
func (Pipeline) PubSubNumPat ¶
func (Pipeline) PubSubNumSub ¶
func (c Pipeline) PubSubNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
func (Pipeline) PubSubShardChannels ¶
func (c Pipeline) PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
func (Pipeline) PubSubShardNumSub ¶
func (c Pipeline) PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
func (Pipeline) RPopCount ¶
func (c Pipeline) RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
func (Pipeline) RestoreReplace ¶
func (Pipeline) SDiff ¶
func (c Pipeline) SDiff(ctx context.Context, keys ...string) *StringSliceCmd
func (Pipeline) SDiffStore ¶
func (Pipeline) SInter ¶
func (c Pipeline) SInter(ctx context.Context, keys ...string) *StringSliceCmd
func (Pipeline) SInterCard ¶
func (Pipeline) SInterStore ¶
func (Pipeline) SMIsMember ¶
func (c Pipeline) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
SMIsMember Redis `SMISMEMBER key member [member ...]` command.
func (Pipeline) SMembers ¶
func (c Pipeline) SMembers(ctx context.Context, key string) *StringSliceCmd
SMembers Redis `SMEMBERS key` command output as a slice.
func (Pipeline) SMembersMap ¶
func (c Pipeline) SMembersMap(ctx context.Context, key string) *StringStructMapCmd
SMembersMap Redis `SMEMBERS key` command output as a map.
func (Pipeline) SPopN ¶
func (c Pipeline) SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
SPopN Redis `SPOP key count` command.
func (Pipeline) SRandMember ¶
SRandMember Redis `SRANDMEMBER key` command.
func (Pipeline) SRandMemberN ¶
func (c Pipeline) SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
SRandMemberN Redis `SRANDMEMBER key count` command.
func (Pipeline) SUnion ¶
func (c Pipeline) SUnion(ctx context.Context, keys ...string) *StringSliceCmd
func (Pipeline) SUnionStore ¶
func (Pipeline) ScriptExists ¶
func (c Pipeline) ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
func (Pipeline) ScriptFlush ¶
func (Pipeline) ScriptKill ¶
func (Pipeline) ScriptLoad ¶
func (Pipeline) Set ¶
func (c Pipeline) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
Set Redis `SET key value [expiration]` command. Use expiration for `SETEx`-like behavior.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Pipeline) SetArgs ¶
SetArgs supports all the options that the SET command supports. It is the alternative to the Set function when you want to have more control over the options.
func (Pipeline) SetEx ¶
func (c Pipeline) SetEx(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
SetEx Redis `SETEx key expiration value` command.
func (Pipeline) SetNX ¶
func (c Pipeline) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetNX Redis `SET key value [expiration] NX` command.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Pipeline) SetXX ¶
func (c Pipeline) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetXX Redis `SET key value [expiration] XX` command.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Pipeline) ShutdownNoSave ¶
func (Pipeline) ShutdownSave ¶
func (Pipeline) SlowLogGet ¶
func (c Pipeline) SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
func (Pipeline) Sort ¶
func (c Pipeline) Sort(ctx context.Context, key string, sort *Sort) *StringSliceCmd
func (Pipeline) SortInterfaces ¶
func (Pipeline) SortRO ¶
func (c Pipeline) SortRO(ctx context.Context, key string, sort *Sort) *StringSliceCmd
func (*Pipeline) TxPipeline ¶
func (*Pipeline) TxPipelined ¶
func (Pipeline) XAutoClaim ¶
func (c Pipeline) XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
func (Pipeline) XAutoClaimJustID ¶
func (c Pipeline) XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
func (Pipeline) XClaim ¶
func (c Pipeline) XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
func (Pipeline) XClaimJustID ¶
func (c Pipeline) XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
func (Pipeline) XGroupCreate ¶
func (Pipeline) XGroupCreateConsumer ¶
func (Pipeline) XGroupCreateMkStream ¶
func (Pipeline) XGroupDelConsumer ¶
func (Pipeline) XGroupDestroy ¶
func (Pipeline) XGroupSetID ¶
func (Pipeline) XInfoConsumers ¶
func (c Pipeline) XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
func (Pipeline) XInfoGroups ¶
func (c Pipeline) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
func (Pipeline) XInfoStream ¶
func (c Pipeline) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
func (Pipeline) XInfoStreamFull ¶
func (c Pipeline) XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
XInfoStreamFull XINFO STREAM FULL [COUNT count] redis-server >= 6.0.
func (Pipeline) XPending ¶
func (c Pipeline) XPending(ctx context.Context, stream, group string) *XPendingCmd
func (Pipeline) XPendingExt ¶
func (c Pipeline) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
func (Pipeline) XRange ¶
func (c Pipeline) XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
func (Pipeline) XRangeN ¶
func (c Pipeline) XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
func (Pipeline) XReadGroup ¶
func (c Pipeline) XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
func (Pipeline) XReadStreams ¶
func (c Pipeline) XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
func (Pipeline) XRevRange ¶
func (c Pipeline) XRevRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
func (Pipeline) XRevRangeN ¶
func (c Pipeline) XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
func (Pipeline) XTrimMaxLen ¶
XTrimMaxLen No `~` rules are used, `limit` cannot be used. cmd: XTRIM key MAXLEN maxLen
func (Pipeline) XTrimMaxLenApprox ¶
func (Pipeline) XTrimMinID ¶
func (Pipeline) XTrimMinIDApprox ¶
func (Pipeline) ZAddArgsIncr ¶
func (Pipeline) ZDiff ¶
func (c Pipeline) ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
ZDiff redis-server version >= 6.2.0.
func (Pipeline) ZDiffStore ¶
ZDiffStore redis-server version >=6.2.0.
func (Pipeline) ZDiffWithScores ¶
ZDiffWithScores redis-server version >= 6.2.0.
func (Pipeline) ZInter ¶
func (c Pipeline) ZInter(ctx context.Context, store *ZStore) *StringSliceCmd
func (Pipeline) ZInterCard ¶
func (Pipeline) ZInterStore ¶
func (Pipeline) ZInterWithScores ¶
func (Pipeline) ZMScore ¶
func (c Pipeline) ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
func (Pipeline) ZRandMember ¶
func (c Pipeline) ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
ZRandMember redis-server version >= 6.2.0.
func (Pipeline) ZRandMemberWithScores ¶
ZRandMemberWithScores redis-server version >= 6.2.0.
func (Pipeline) ZRange ¶
func (c Pipeline) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Pipeline) ZRangeArgs ¶
func (c Pipeline) ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
func (Pipeline) ZRangeArgsWithScores ¶
func (c Pipeline) ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
func (Pipeline) ZRangeByLex ¶
func (c Pipeline) ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Pipeline) ZRangeByScore ¶
func (c Pipeline) ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Pipeline) ZRangeByScoreWithScores ¶
func (Pipeline) ZRangeStore ¶
func (c Pipeline) ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
func (Pipeline) ZRangeWithScores ¶
func (Pipeline) ZRemRangeByLex ¶
func (Pipeline) ZRemRangeByRank ¶
func (Pipeline) ZRemRangeByScore ¶
func (Pipeline) ZRevRange ¶
func (c Pipeline) ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Pipeline) ZRevRangeByLex ¶
func (c Pipeline) ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Pipeline) ZRevRangeByScore ¶
func (c Pipeline) ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Pipeline) ZRevRangeByScoreWithScores ¶
func (Pipeline) ZRevRangeWithScores ¶
func (Pipeline) ZUnion ¶
func (c Pipeline) ZUnion(ctx context.Context, store ZStore) *StringSliceCmd
func (Pipeline) ZUnionStore ¶
type Pipeliner ¶
type Pipeliner interface {
StatefulCmdable
Len() int
Do(ctx context.Context, args ...interface{}) *Cmd
Process(ctx context.Context, cmd Cmder) error
Discard()
Exec(ctx context.Context) ([]Cmder, error)
}
Pipeliner is an mechanism to realise Redis Pipeline technique.
Pipelining is a technique to extremely speed up processing by packing operations to batches, send them at once to Redis and read a replies in a singe step. See https://redis.io/topics/pipelining
Pay attention, that Pipeline is not a transaction, so you can get unexpected results in case of big pipelines and small read/write timeouts. Redis client has retransmission logic in case of timeouts, pipeline can be retransmitted and commands can be executed more then once. To avoid this: it is good idea to use reasonable bigger read/write timeouts depends of your batch size and/or use TxPipeline.
type Pong ¶
type Pong struct {
Payload string
}
Pong received as result of a PING command issued by another client.
type PubSub ¶
type PubSub struct {
// contains filtered or unexported fields
}
PubSub implements Pub/Sub commands as described in http://redis.io/topics/pubsub. Message receiving is NOT safe for concurrent use by multiple goroutines.
PubSub automatically reconnects to Redis Server and resubscribes to the channels in case of network errors.
func (*PubSub) Channel ¶
func (c *PubSub) Channel(opts ...ChannelOption) <-chan *Message
Channel returns a Go channel for concurrently receiving messages. The channel is closed together with the PubSub. If the Go channel is blocked full for 30 seconds the message is dropped. Receive* APIs can not be used after channel is created.
go-redis periodically sends ping messages to test connection health and re-subscribes if ping can not not received for 30 seconds.
func (*PubSub) ChannelSize
deprecated
func (*PubSub) ChannelWithSubscriptions ¶
func (c *PubSub) ChannelWithSubscriptions(opts ...ChannelOption) <-chan interface{}
ChannelWithSubscriptions is like Channel, but message type can be either *Subscription or *Message. Subscription messages can be used to detect reconnections.
ChannelWithSubscriptions can not be used together with Channel or ChannelSize.
func (*PubSub) PSubscribe ¶
PSubscribe the client to the given patterns. It returns empty subscription if there are no patterns.
func (*PubSub) PUnsubscribe ¶
PUnsubscribe the client from the given patterns, or from all of them if none is given.
func (*PubSub) Receive ¶
Receive returns a message as a Subscription, Message, Pong or error. See PubSub example for details. This is low-level API and in most cases Channel should be used instead.
func (*PubSub) ReceiveMessage ¶
ReceiveMessage returns a Message or error ignoring Subscription and Pong messages. This is low-level API and in most cases Channel should be used instead.
func (*PubSub) ReceiveTimeout ¶
ReceiveTimeout acts like Receive but returns an error if message is not received in time. This is low-level API and in most cases Channel should be used instead.
func (*PubSub) SSubscribe ¶
SSubscribe Subscribes the client to the specified shard channels.
func (*PubSub) SUnsubscribe ¶
SUnsubscribe unsubscribes the client from the given shard channels, or from all of them if none is given.
type Ring ¶
type Ring struct {
// contains filtered or unexported fields
}
Ring is a Redis client that uses consistent hashing to distribute keys across multiple Redis servers (shards). It's safe for concurrent use by multiple goroutines.
Ring monitors the state of each shard and removes dead shards from the ring. When a shard comes online it is added back to the ring. This gives you maximum availability and partition tolerance, but no consistency between different shards or even clients. Each client uses shards that are available to the client and does not do any coordination when shard state is changed.
Ring should be used when you need multiple Redis servers for caching and can tolerate losing data when one of the servers dies. Otherwise you should use Redis Cluster.
func NewRing ¶
func NewRing(opt *RingOptions) *Ring
func (*Ring) AddHook ¶
func (hs *Ring) AddHook(hook Hook)
AddHook is to add a hook to the queue. Hook is a function executed during network connection, command execution, and pipeline, it is a first-in-first-out stack queue (FIFO). You need to execute the next hook in each hook, unless you want to terminate the execution of the command. For example, you added hook-1, hook-2:
client.AddHook(hook-1, hook-2)
hook-1:
func (Hook1) ProcessHook(next redis.ProcessHook) redis.ProcessHook {
return func(ctx context.Context, cmd Cmder) error {
print("hook-1 start")
next(ctx, cmd)
print("hook-1 end")
return nil
}
}
hook-2:
func (Hook2) ProcessHook(next redis.ProcessHook) redis.ProcessHook {
return func(ctx context.Context, cmd redis.Cmder) error {
print("hook-2 start")
next(ctx, cmd)
print("hook-2 end")
return nil
}
}
The execution sequence is:
hook-1 start -> hook-2 start -> exec redis cmd -> hook-2 end -> hook-1 end
Please note: "next(ctx, cmd)" is very important, it will call the next hook, if "next(ctx, cmd)" is not executed, the redis command will not be executed.
func (Ring) BRPopLPush ¶
func (Ring) BgRewriteAOF ¶
func (Ring) BitField ¶
func (c Ring) BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
func (Ring) ClientGetName ¶
ClientGetName returns the name of the connection.
func (Ring) ClientKillByFilter ¶
ClientKillByFilter is new style syntax, while the ClientKill is old
CLIENT KILL <option> [value] ... <option> [value]
func (Ring) ClientList ¶
func (Ring) ClientPause ¶
func (Ring) ClientUnblockWithError ¶
func (Ring) ClientUnpause ¶
func (*Ring) Close ¶
Close closes the ring client, releasing any open resources.
It is rare to Close a Ring, as the Ring is meant to be long-lived and shared between many goroutines.
func (Ring) ClusterAddSlots ¶
func (Ring) ClusterAddSlotsRange ¶
func (Ring) ClusterCountFailureReports ¶
func (Ring) ClusterCountKeysInSlot ¶
func (Ring) ClusterDelSlots ¶
func (Ring) ClusterDelSlotsRange ¶
func (Ring) ClusterFailover ¶
func (Ring) ClusterForget ¶
func (Ring) ClusterGetKeysInSlot ¶
func (c Ring) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
func (Ring) ClusterInfo ¶
func (Ring) ClusterMeet ¶
func (Ring) ClusterNodes ¶
func (Ring) ClusterReplicate ¶
func (Ring) ClusterResetHard ¶
func (Ring) ClusterResetSoft ¶
func (Ring) ClusterSaveConfig ¶
func (Ring) ClusterSlaves ¶
func (c Ring) ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
func (Ring) ClusterSlots ¶
func (c Ring) ClusterSlots(ctx context.Context) *ClusterSlotsCmd
func (Ring) Command ¶
func (c Ring) Command(ctx context.Context) *CommandsInfoCmd
func (Ring) ConfigGet ¶
func (c Ring) ConfigGet(ctx context.Context, parameter string) *MapStringStringCmd
func (Ring) ConfigResetStat ¶
func (Ring) ConfigRewrite ¶
func (Ring) FlushAllAsync ¶
func (Ring) FlushDBAsync ¶
func (*Ring) ForEachShard ¶
func (c *Ring) ForEachShard( ctx context.Context, fn func(ctx context.Context, client *Client) error, ) error
ForEachShard concurrently calls the fn on each live shard in the ring. It returns the first error if any.
func (Ring) GeoAdd ¶
func (c Ring) GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
func (Ring) GeoHash ¶
func (c Ring) GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
func (Ring) GeoRadius ¶
func (c Ring) GeoRadius( ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery, ) *GeoLocationCmd
GeoRadius is a read-only GEORADIUS_RO command.
func (Ring) GeoRadiusByMember ¶
func (c Ring) GeoRadiusByMember( ctx context.Context, key, member string, query *GeoRadiusQuery, ) *GeoLocationCmd
GeoRadiusByMember is a read-only GEORADIUSBYMEMBER_RO command.
func (Ring) GeoRadiusByMemberStore ¶
func (c Ring) GeoRadiusByMemberStore( ctx context.Context, key, member string, query *GeoRadiusQuery, ) *IntCmd
GeoRadiusByMemberStore is a writing GEORADIUSBYMEMBER command.
func (Ring) GeoRadiusStore ¶
func (c Ring) GeoRadiusStore( ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery, ) *IntCmd
GeoRadiusStore is a writing GEORADIUS command.
func (Ring) GeoSearch ¶
func (c Ring) GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
func (Ring) GeoSearchLocation ¶
func (c Ring) GeoSearchLocation( ctx context.Context, key string, q *GeoSearchLocationQuery, ) *GeoSearchLocationCmd
func (Ring) GeoSearchStore ¶
func (c Ring) GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *IntCmd
func (Ring) GetEx ¶
GetEx An expiration of zero removes the TTL associated with the key (i.e. GETEX key persist). Requires Redis >= 6.2.0.
func (Ring) HIncrByFloat ¶
func (Ring) HMGet ¶
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 (Ring) HRandField ¶
func (c Ring) HRandField(ctx context.Context, key string, count int) *StringSliceCmd
HRandField redis-server version >= 6.2.0.
func (Ring) HRandFieldWithValues ¶
func (c Ring) HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
HRandFieldWithValues redis-server version >= 6.2.0.
func (Ring) HSet ¶
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"})
Playing struct With "redis" tag. type MyHash struct { Key1 string `redis:"key1"`; Key2 int `redis:"key2"` }
HSet("myhash", MyHash{"value1", "value2"})
For struct, can be a structure pointer type, we only parse the field whose tag is redis. if you don't want the field to be read, you can use the `redis:"-"` flag to ignore it, or you don't need to set the redis tag. For the type of structure field, we only support simple data types: string, int/uint(8,16,32,64), float(32,64), time.Time(to RFC3339Nano), time.Duration(to Nanoseconds ), if you are other more complex or custom data types, please implement the encoding.BinaryMarshaler interface.
Note that it requires Redis v4 for multiple field/value pairs support.
func (Ring) IncrByFloat ¶
func (Ring) LInsertAfter ¶
func (Ring) LInsertBefore ¶
func (Ring) LPopCount ¶
func (c Ring) LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
func (Ring) LRange ¶
func (c Ring) LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Ring) MSet ¶
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"})
- MSet(struct), For struct types, see HSet description.
func (Ring) MSetNX ¶
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"})
- MSetNX(struct), For struct types, see HSet description.
func (Ring) MemoryUsage ¶
func (Ring) ObjectEncoding ¶
func (Ring) ObjectIdleTime ¶
func (c Ring) ObjectIdleTime(ctx context.Context, key string) *DurationCmd
func (*Ring) Options ¶
func (c *Ring) Options() *RingOptions
Options returns read-only Options that were used to create the client.
func (*Ring) PSubscribe ¶
PSubscribe subscribes the client to the given patterns.
func (Ring) PubSubChannels ¶
func (c Ring) PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
func (Ring) PubSubNumPat ¶
func (Ring) PubSubNumSub ¶
func (c Ring) PubSubNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
func (Ring) PubSubShardChannels ¶
func (c Ring) PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
func (Ring) PubSubShardNumSub ¶
func (c Ring) PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
func (Ring) RPopCount ¶
func (c Ring) RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
func (Ring) RestoreReplace ¶
func (Ring) SDiffStore ¶
func (Ring) SInterCard ¶
func (Ring) SInterStore ¶
func (Ring) SMIsMember ¶
func (c Ring) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
SMIsMember Redis `SMISMEMBER key member [member ...]` command.
func (Ring) SMembers ¶
func (c Ring) SMembers(ctx context.Context, key string) *StringSliceCmd
SMembers Redis `SMEMBERS key` command output as a slice.
func (Ring) SMembersMap ¶
func (c Ring) SMembersMap(ctx context.Context, key string) *StringStructMapCmd
SMembersMap Redis `SMEMBERS key` command output as a map.
func (Ring) SPopN ¶
func (c Ring) SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
SPopN Redis `SPOP key count` command.
func (Ring) SRandMember ¶
SRandMember Redis `SRANDMEMBER key` command.
func (Ring) SRandMemberN ¶
func (c Ring) SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
SRandMemberN Redis `SRANDMEMBER key count` command.
func (*Ring) SSubscribe ¶
SSubscribe Subscribes the client to the specified shard channels.
func (Ring) SUnionStore ¶
func (Ring) ScriptExists ¶
func (c Ring) ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
func (Ring) ScriptFlush ¶
func (Ring) ScriptKill ¶
func (Ring) Set ¶
func (c Ring) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
Set Redis `SET key value [expiration]` command. Use expiration for `SETEx`-like behavior.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Ring) SetArgs ¶
SetArgs supports all the options that the SET command supports. It is the alternative to the Set function when you want to have more control over the options.
func (Ring) SetEx ¶
func (c Ring) SetEx(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
SetEx Redis `SETEx key expiration value` command.
func (Ring) SetNX ¶
func (c Ring) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetNX Redis `SET key value [expiration] NX` command.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Ring) SetXX ¶
func (c Ring) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetXX Redis `SET key value [expiration] XX` command.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Ring) ShutdownNoSave ¶
func (Ring) ShutdownSave ¶
func (Ring) SlowLogGet ¶
func (c Ring) SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
func (Ring) SortInterfaces ¶
func (Ring) SortRO ¶
func (c Ring) SortRO(ctx context.Context, key string, sort *Sort) *StringSliceCmd
func (*Ring) TxPipeline ¶
func (*Ring) TxPipelined ¶
func (Ring) XAutoClaim ¶
func (c Ring) XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
func (Ring) XAutoClaimJustID ¶
func (c Ring) XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
func (Ring) XClaim ¶
func (c Ring) XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
func (Ring) XClaimJustID ¶
func (c Ring) XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
func (Ring) XGroupCreate ¶
func (Ring) XGroupCreateConsumer ¶
func (Ring) XGroupCreateMkStream ¶
func (Ring) XGroupDelConsumer ¶
func (Ring) XGroupDestroy ¶
func (Ring) XGroupSetID ¶
func (Ring) XInfoConsumers ¶
func (c Ring) XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
func (Ring) XInfoGroups ¶
func (c Ring) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
func (Ring) XInfoStream ¶
func (c Ring) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
func (Ring) XInfoStreamFull ¶
func (c Ring) XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
XInfoStreamFull XINFO STREAM FULL [COUNT count] redis-server >= 6.0.
func (Ring) XPending ¶
func (c Ring) XPending(ctx context.Context, stream, group string) *XPendingCmd
func (Ring) XPendingExt ¶
func (c Ring) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
func (Ring) XRange ¶
func (c Ring) XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
func (Ring) XRangeN ¶
func (c Ring) XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
func (Ring) XReadGroup ¶
func (c Ring) XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
func (Ring) XReadStreams ¶
func (c Ring) XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
func (Ring) XRevRange ¶
func (c Ring) XRevRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
func (Ring) XRevRangeN ¶
func (c Ring) XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
func (Ring) XTrimMaxLen ¶
XTrimMaxLen No `~` rules are used, `limit` cannot be used. cmd: XTRIM key MAXLEN maxLen
func (Ring) XTrimMaxLenApprox ¶
func (Ring) XTrimMinID ¶
func (Ring) XTrimMinIDApprox ¶
func (Ring) ZAddArgsIncr ¶
func (Ring) ZDiff ¶
func (c Ring) ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
ZDiff redis-server version >= 6.2.0.
func (Ring) ZDiffStore ¶
ZDiffStore redis-server version >=6.2.0.
func (Ring) ZDiffWithScores ¶
ZDiffWithScores redis-server version >= 6.2.0.
func (Ring) ZInterCard ¶
func (Ring) ZInterStore ¶
func (Ring) ZInterWithScores ¶
func (Ring) ZMScore ¶
func (c Ring) ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
func (Ring) ZRandMember ¶
func (c Ring) ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
ZRandMember redis-server version >= 6.2.0.
func (Ring) ZRandMemberWithScores ¶
ZRandMemberWithScores redis-server version >= 6.2.0.
func (Ring) ZRange ¶
func (c Ring) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Ring) ZRangeArgs ¶
func (c Ring) ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
func (Ring) ZRangeArgsWithScores ¶
func (c Ring) ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
func (Ring) ZRangeByLex ¶
func (c Ring) ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Ring) ZRangeByScore ¶
func (c Ring) ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Ring) ZRangeByScoreWithScores ¶
func (Ring) ZRangeStore ¶
func (c Ring) ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
func (Ring) ZRangeWithScores ¶
func (Ring) ZRemRangeByLex ¶
func (Ring) ZRemRangeByRank ¶
func (Ring) ZRemRangeByScore ¶
func (Ring) ZRevRange ¶
func (c Ring) ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Ring) ZRevRangeByLex ¶
func (c Ring) ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Ring) ZRevRangeByScore ¶
func (c Ring) ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Ring) ZRevRangeByScoreWithScores ¶
func (Ring) ZRevRangeWithScores ¶
func (Ring) ZUnionStore ¶
type RingOptions ¶
type RingOptions struct {
// Map of name => host:port addresses of ring shards.
Addrs map[string]string
// NewClient creates a shard client with provided options.
NewClient func(opt *Options) *Client
// ClientName will execute the `CLIENT SETNAME ClientName` command for each conn.
ClientName string
// Frequency of PING commands sent to check shards availability.
// Shard is considered down after 3 subsequent failed checks.
HeartbeatFrequency time.Duration
// NewConsistentHash returns a consistent hash that is used
// to distribute keys across the shards.
//
// See https://medium.com/@dgryski/consistent-hashing-algorithmic-tradeoffs-ef6b8e2fcae8
// for consistent hashing algorithmic tradeoffs.
NewConsistentHash func(shards []string) ConsistentHash
Dialer func(ctx context.Context, network, addr string) (net.Conn, error)
OnConnect func(ctx context.Context, cn *Conn) error
Username string
Password string
DB int
MaxRetries int
MinRetryBackoff time.Duration
MaxRetryBackoff time.Duration
DialTimeout time.Duration
ReadTimeout time.Duration
WriteTimeout time.Duration
// PoolFIFO uses FIFO mode for each node connection pool GET/PUT (default LIFO).
PoolFIFO bool
PoolSize int
PoolTimeout time.Duration
MinIdleConns int
MaxIdleConns int
ConnMaxIdleTime time.Duration
ConnMaxLifetime time.Duration
TLSConfig *tls.Config
Limiter Limiter
}
RingOptions are used to configure a ring client and should be passed to NewRing.
type ScanCmd ¶
type ScanCmd struct {
// contains filtered or unexported fields
}
func NewScanCmd ¶
func NewScanCmdResult ¶
NewScanCmdResult returns a ScanCmd initialised with val and err for testing.
func (*ScanCmd) Iterator ¶
func (cmd *ScanCmd) Iterator() *ScanIterator
Iterator creates a new ScanIterator.
func (*ScanCmd) SetFirstKeyPos ¶
func (cmd *ScanCmd) SetFirstKeyPos(keyPos int8)
type ScanIterator ¶
type ScanIterator struct {
// contains filtered or unexported fields
}
ScanIterator is used to incrementally iterate over a collection of elements.
func (*ScanIterator) Err ¶
func (it *ScanIterator) Err() error
Err returns the last iterator error, if any.
func (*ScanIterator) Next ¶
func (it *ScanIterator) Next(ctx context.Context) bool
Next advances the cursor and returns true if more values can be read.
func (*ScanIterator) Val ¶
func (it *ScanIterator) Val() string
Val returns the key/field at the current cursor position.
type Script ¶
type Script struct {
// contains filtered or unexported fields
}
type Scripter ¶
type Scripter interface {
Eval(ctx context.Context, script string, keys []string, args ...interface{}) *Cmd
EvalSha(ctx context.Context, sha1 string, keys []string, args ...interface{}) *Cmd
EvalRO(ctx context.Context, script string, keys []string, args ...interface{}) *Cmd
EvalShaRO(ctx context.Context, sha1 string, keys []string, args ...interface{}) *Cmd
ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
ScriptLoad(ctx context.Context, script string) *StringCmd
}
type SentinelClient ¶
type SentinelClient struct {
// contains filtered or unexported fields
}
SentinelClient is a client for a Redis Sentinel.
func NewSentinelClient ¶
func NewSentinelClient(opt *Options) *SentinelClient
func (*SentinelClient) AddHook ¶
func (hs *SentinelClient) AddHook(hook Hook)
AddHook is to add a hook to the queue. Hook is a function executed during network connection, command execution, and pipeline, it is a first-in-first-out stack queue (FIFO). You need to execute the next hook in each hook, unless you want to terminate the execution of the command. For example, you added hook-1, hook-2:
client.AddHook(hook-1, hook-2)
hook-1:
func (Hook1) ProcessHook(next redis.ProcessHook) redis.ProcessHook {
return func(ctx context.Context, cmd Cmder) error {
print("hook-1 start")
next(ctx, cmd)
print("hook-1 end")
return nil
}
}
hook-2:
func (Hook2) ProcessHook(next redis.ProcessHook) redis.ProcessHook {
return func(ctx context.Context, cmd redis.Cmder) error {
print("hook-2 start")
next(ctx, cmd)
print("hook-2 end")
return nil
}
}
The execution sequence is:
hook-1 start -> hook-2 start -> exec redis cmd -> hook-2 end -> hook-1 end
Please note: "next(ctx, cmd)" is very important, it will call the next hook, if "next(ctx, cmd)" is not executed, the redis command will not be executed.
func (*SentinelClient) CkQuorum ¶
func (c *SentinelClient) CkQuorum(ctx context.Context, name string) *StringCmd
CkQuorum checks if the current Sentinel configuration is able to reach the quorum needed to failover a master, and the majority needed to authorize the failover. This command should be used in monitoring systems to check if a Sentinel deployment is ok.
func (SentinelClient) Close ¶
func (c SentinelClient) 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 (*SentinelClient) Failover ¶
func (c *SentinelClient) Failover(ctx context.Context, name string) *StatusCmd
Failover forces a failover as if the master was not reachable, and without asking for agreement to other Sentinels.
func (*SentinelClient) FlushConfig ¶
func (c *SentinelClient) FlushConfig(ctx context.Context) *StatusCmd
FlushConfig forces Sentinel to rewrite its configuration on disk, including the current Sentinel state.
func (*SentinelClient) GetMasterAddrByName ¶
func (c *SentinelClient) GetMasterAddrByName(ctx context.Context, name string) *StringSliceCmd
func (*SentinelClient) Master ¶
func (c *SentinelClient) Master(ctx context.Context, name string) *MapStringStringCmd
Master shows the state and info of the specified master.
func (*SentinelClient) Masters ¶
func (c *SentinelClient) Masters(ctx context.Context) *SliceCmd
Masters shows a list of monitored masters and their state.
func (*SentinelClient) Monitor ¶
func (c *SentinelClient) Monitor(ctx context.Context, name, ip, port, quorum string) *StringCmd
Monitor tells the Sentinel to start monitoring a new master with the specified name, ip, port, and quorum.
func (*SentinelClient) PSubscribe ¶
func (c *SentinelClient) PSubscribe(ctx context.Context, channels ...string) *PubSub
PSubscribe subscribes the client to the given patterns. Patterns can be omitted to create empty subscription.
func (*SentinelClient) Ping ¶
func (c *SentinelClient) Ping(ctx context.Context) *StringCmd
Ping is used to test if a connection is still alive, or to measure latency.
func (*SentinelClient) Process ¶
func (c *SentinelClient) Process(ctx context.Context, cmd Cmder) error
func (*SentinelClient) Remove ¶
func (c *SentinelClient) Remove(ctx context.Context, name string) *StringCmd
Remove is used in order to remove the specified master: the master will no longer be monitored, and will totally be removed from the internal state of the Sentinel.
func (*SentinelClient) Replicas ¶
func (c *SentinelClient) Replicas(ctx context.Context, name string) *MapStringStringSliceCmd
Replicas shows a list of replicas for the specified master and their state.
func (*SentinelClient) Reset ¶
func (c *SentinelClient) Reset(ctx context.Context, pattern string) *IntCmd
Reset resets all the masters with matching name. The pattern argument is a glob-style pattern. The reset process clears any previous state in a master (including a failover in progress), and removes every replica and sentinel already discovered and associated with the master.
func (*SentinelClient) Sentinels ¶
func (c *SentinelClient) Sentinels(ctx context.Context, name string) *MapStringStringSliceCmd
type SetArgs ¶
type SetArgs struct {
// Mode can be `NX` or `XX` or empty.
Mode string
// Zero `TTL` or `Expiration` means that the key has no expiration time.
TTL time.Duration
ExpireAt time.Time
// When Get is true, the command returns the old value stored at key, or nil when key did not exist.
Get bool
// KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0,
// otherwise you will receive an error: (error) ERR syntax error.
KeepTTL bool
}
SetArgs provides arguments for the SetArgs function.
type SliceCmd ¶
type SliceCmd struct {
// contains filtered or unexported fields
}
func NewSliceCmd ¶
func NewSliceResult ¶
NewSliceResult returns a SliceCmd initialised with val and err for testing.
func (*SliceCmd) Scan ¶
Scan scans the results from the map into a destination struct. The map keys are matched in the Redis struct fields by the `redis:"field"` tag.
func (*SliceCmd) SetFirstKeyPos ¶
func (cmd *SliceCmd) SetFirstKeyPos(keyPos int8)
type SlowLogCmd ¶
type SlowLogCmd struct {
// contains filtered or unexported fields
}
func NewSlowLogCmd ¶
func NewSlowLogCmd(ctx context.Context, args ...interface{}) *SlowLogCmd
func (*SlowLogCmd) Result ¶
func (cmd *SlowLogCmd) Result() ([]SlowLog, error)
func (*SlowLogCmd) SetFirstKeyPos ¶
func (cmd *SlowLogCmd) SetFirstKeyPos(keyPos int8)
func (*SlowLogCmd) SetVal ¶
func (cmd *SlowLogCmd) SetVal(val []SlowLog)
func (*SlowLogCmd) String ¶
func (cmd *SlowLogCmd) String() string
func (*SlowLogCmd) Val ¶
func (cmd *SlowLogCmd) Val() []SlowLog
type StatefulCmdable ¶
type StatefulCmdable interface {
Cmdable
Auth(ctx context.Context, password string) *StatusCmd
AuthACL(ctx context.Context, username, password string) *StatusCmd
Select(ctx context.Context, index int) *StatusCmd
SwapDB(ctx context.Context, index1, index2 int) *StatusCmd
ClientSetName(ctx context.Context, name string) *BoolCmd
Hello(ctx context.Context, ver int, username, password, clientName string) *MapStringInterfaceCmd
}
type StatusCmd ¶
type StatusCmd struct {
// contains filtered or unexported fields
}
func NewStatusCmd ¶
func NewStatusResult ¶
NewStatusResult returns a StatusCmd initialised with val and err for testing.
func (*StatusCmd) SetFirstKeyPos ¶
func (cmd *StatusCmd) SetFirstKeyPos(keyPos int8)
type StringCmd ¶
type StringCmd struct {
// contains filtered or unexported fields
}
func NewStringCmd ¶
func NewStringResult ¶
NewStringResult returns a StringCmd initialised with val and err for testing.
func (*StringCmd) SetFirstKeyPos ¶
func (cmd *StringCmd) SetFirstKeyPos(keyPos int8)
type StringSliceCmd ¶
type StringSliceCmd struct {
// contains filtered or unexported fields
}
func NewStringSliceCmd ¶
func NewStringSliceCmd(ctx context.Context, args ...interface{}) *StringSliceCmd
func NewStringSliceResult ¶
func NewStringSliceResult(val []string, err error) *StringSliceCmd
NewStringSliceResult returns a StringSliceCmd initialised with val and err for testing.
func (*StringSliceCmd) Result ¶
func (cmd *StringSliceCmd) Result() ([]string, error)
func (*StringSliceCmd) ScanSlice ¶
func (cmd *StringSliceCmd) ScanSlice(container interface{}) error
func (*StringSliceCmd) SetFirstKeyPos ¶
func (cmd *StringSliceCmd) SetFirstKeyPos(keyPos int8)
func (*StringSliceCmd) SetVal ¶
func (cmd *StringSliceCmd) SetVal(val []string)
func (*StringSliceCmd) String ¶
func (cmd *StringSliceCmd) String() string
func (*StringSliceCmd) Val ¶
func (cmd *StringSliceCmd) Val() []string
type StringStructMapCmd ¶
type StringStructMapCmd struct {
// contains filtered or unexported fields
}
func NewStringStructMapCmd ¶
func NewStringStructMapCmd(ctx context.Context, args ...interface{}) *StringStructMapCmd
func (*StringStructMapCmd) Result ¶
func (cmd *StringStructMapCmd) Result() (map[string]struct{}, error)
func (*StringStructMapCmd) SetFirstKeyPos ¶
func (cmd *StringStructMapCmd) SetFirstKeyPos(keyPos int8)
func (*StringStructMapCmd) SetVal ¶
func (cmd *StringStructMapCmd) SetVal(val map[string]struct{})
func (*StringStructMapCmd) String ¶
func (cmd *StringStructMapCmd) String() string
func (*StringStructMapCmd) Val ¶
func (cmd *StringStructMapCmd) Val() map[string]struct{}
type Subscription ¶
type Subscription struct {
// Can be "subscribe", "unsubscribe", "psubscribe" or "punsubscribe".
Kind string
// Channel name we have subscribed to.
Channel string
// Number of channels we are currently subscribed to.
Count int
}
Subscription received after a successful subscription to channel.
func (*Subscription) String ¶
func (m *Subscription) String() string
type TimeCmd ¶
type TimeCmd struct {
// contains filtered or unexported fields
}
func NewTimeCmd ¶
func NewTimeCmdResult ¶
NewTimeCmdResult returns a TimeCmd initialised with val and err for testing.
func (*TimeCmd) SetFirstKeyPos ¶
func (cmd *TimeCmd) SetFirstKeyPos(keyPos int8)
type Tx ¶
type Tx struct {
// contains filtered or unexported fields
}
Tx implements Redis transactions as described in http://redis.io/topics/transactions. It's NOT safe for concurrent use by multiple goroutines, because Exec resets list of watched keys.
If you don't need WATCH, use Pipeline instead.
func (*Tx) AddHook ¶
func (hs *Tx) AddHook(hook Hook)
AddHook is to add a hook to the queue. Hook is a function executed during network connection, command execution, and pipeline, it is a first-in-first-out stack queue (FIFO). You need to execute the next hook in each hook, unless you want to terminate the execution of the command. For example, you added hook-1, hook-2:
client.AddHook(hook-1, hook-2)
hook-1:
func (Hook1) ProcessHook(next redis.ProcessHook) redis.ProcessHook {
return func(ctx context.Context, cmd Cmder) error {
print("hook-1 start")
next(ctx, cmd)
print("hook-1 end")
return nil
}
}
hook-2:
func (Hook2) ProcessHook(next redis.ProcessHook) redis.ProcessHook {
return func(ctx context.Context, cmd redis.Cmder) error {
print("hook-2 start")
next(ctx, cmd)
print("hook-2 end")
return nil
}
}
The execution sequence is:
hook-1 start -> hook-2 start -> exec redis cmd -> hook-2 end -> hook-1 end
Please note: "next(ctx, cmd)" is very important, it will call the next hook, if "next(ctx, cmd)" is not executed, the redis command will not be executed.
func (Tx) AuthACL ¶
AuthACL 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.
func (Tx) BRPopLPush ¶
func (Tx) BgRewriteAOF ¶
func (Tx) BitField ¶
func (c Tx) BitField(ctx context.Context, key string, args ...interface{}) *IntSliceCmd
func (Tx) ClientGetName ¶
ClientGetName returns the name of the connection.
func (Tx) ClientKillByFilter ¶
ClientKillByFilter is new style syntax, while the ClientKill is old
CLIENT KILL <option> [value] ... <option> [value]
func (Tx) ClientList ¶
func (Tx) ClientSetName ¶
ClientSetName assigns a name to the connection.
func (Tx) ClientUnblockWithError ¶
func (Tx) ClientUnpause ¶
func (Tx) ClusterAddSlots ¶
func (Tx) ClusterAddSlotsRange ¶
func (Tx) ClusterCountFailureReports ¶
func (Tx) ClusterCountKeysInSlot ¶
func (Tx) ClusterDelSlots ¶
func (Tx) ClusterDelSlotsRange ¶
func (Tx) ClusterFailover ¶
func (Tx) ClusterGetKeysInSlot ¶
func (c Tx) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *StringSliceCmd
func (Tx) ClusterInfo ¶
func (Tx) ClusterNodes ¶
func (Tx) ClusterReplicate ¶
func (Tx) ClusterResetHard ¶
func (Tx) ClusterResetSoft ¶
func (Tx) ClusterSaveConfig ¶
func (Tx) ClusterSlaves ¶
func (c Tx) ClusterSlaves(ctx context.Context, nodeID string) *StringSliceCmd
func (Tx) ClusterSlots ¶
func (c Tx) ClusterSlots(ctx context.Context) *ClusterSlotsCmd
func (Tx) Command ¶
func (c Tx) Command(ctx context.Context) *CommandsInfoCmd
func (Tx) ConfigGet ¶
func (c Tx) ConfigGet(ctx context.Context, parameter string) *MapStringStringCmd
func (Tx) ConfigResetStat ¶
func (Tx) ConfigRewrite ¶
func (Tx) FlushAllAsync ¶
func (Tx) FlushDBAsync ¶
func (Tx) GeoAdd ¶
func (c Tx) GeoAdd(ctx context.Context, key string, geoLocation ...*GeoLocation) *IntCmd
func (Tx) GeoHash ¶
func (c Tx) GeoHash(ctx context.Context, key string, members ...string) *StringSliceCmd
func (Tx) GeoRadius ¶
func (c Tx) GeoRadius( ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery, ) *GeoLocationCmd
GeoRadius is a read-only GEORADIUS_RO command.
func (Tx) GeoRadiusByMember ¶
func (c Tx) GeoRadiusByMember( ctx context.Context, key, member string, query *GeoRadiusQuery, ) *GeoLocationCmd
GeoRadiusByMember is a read-only GEORADIUSBYMEMBER_RO command.
func (Tx) GeoRadiusByMemberStore ¶
func (c Tx) GeoRadiusByMemberStore( ctx context.Context, key, member string, query *GeoRadiusQuery, ) *IntCmd
GeoRadiusByMemberStore is a writing GEORADIUSBYMEMBER command.
func (Tx) GeoRadiusStore ¶
func (c Tx) GeoRadiusStore( ctx context.Context, key string, longitude, latitude float64, query *GeoRadiusQuery, ) *IntCmd
GeoRadiusStore is a writing GEORADIUS command.
func (Tx) GeoSearch ¶
func (c Tx) GeoSearch(ctx context.Context, key string, q *GeoSearchQuery) *StringSliceCmd
func (Tx) GeoSearchLocation ¶
func (c Tx) GeoSearchLocation( ctx context.Context, key string, q *GeoSearchLocationQuery, ) *GeoSearchLocationCmd
func (Tx) GeoSearchStore ¶
func (c Tx) GeoSearchStore(ctx context.Context, key, store string, q *GeoSearchStoreQuery) *IntCmd
func (Tx) GetEx ¶
GetEx An expiration of zero removes the TTL associated with the key (i.e. GETEX key persist). Requires Redis >= 6.2.0.
func (Tx) HIncrByFloat ¶
func (Tx) HMGet ¶
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 (Tx) HRandField ¶
func (c Tx) HRandField(ctx context.Context, key string, count int) *StringSliceCmd
HRandField redis-server version >= 6.2.0.
func (Tx) HRandFieldWithValues ¶
func (c Tx) HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd
HRandFieldWithValues redis-server version >= 6.2.0.
func (Tx) HSet ¶
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"})
Playing struct With "redis" tag. type MyHash struct { Key1 string `redis:"key1"`; Key2 int `redis:"key2"` }
HSet("myhash", MyHash{"value1", "value2"})
For struct, can be a structure pointer type, we only parse the field whose tag is redis. if you don't want the field to be read, you can use the `redis:"-"` flag to ignore it, or you don't need to set the redis tag. For the type of structure field, we only support simple data types: string, int/uint(8,16,32,64), float(32,64), time.Time(to RFC3339Nano), time.Duration(to Nanoseconds ), if you are other more complex or custom data types, please implement the encoding.BinaryMarshaler interface.
Note that it requires Redis v4 for multiple field/value pairs support.
func (Tx) Hello ¶
func (c Tx) Hello(ctx context.Context, ver int, username, password, clientName string) *MapStringInterfaceCmd
Hello Set the resp protocol used.
func (Tx) IncrByFloat ¶
func (Tx) LInsertAfter ¶
func (Tx) LInsertBefore ¶
func (Tx) LPopCount ¶
func (c Tx) LPopCount(ctx context.Context, key string, count int) *StringSliceCmd
func (Tx) LRange ¶
func (c Tx) LRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Tx) MSet ¶
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"})
- MSet(struct), For struct types, see HSet description.
func (Tx) MSetNX ¶
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"})
- MSetNX(struct), For struct types, see HSet description.
func (Tx) MemoryUsage ¶
func (Tx) ObjectIdleTime ¶
func (c Tx) ObjectIdleTime(ctx context.Context, key string) *DurationCmd
func (*Tx) Pipelined ¶
Pipelined executes commands queued in the fn outside of the transaction. Use TxPipelined if you need transactional behavior.
func (Tx) PubSubChannels ¶
func (c Tx) PubSubChannels(ctx context.Context, pattern string) *StringSliceCmd
func (Tx) PubSubNumPat ¶
func (Tx) PubSubNumSub ¶
func (c Tx) PubSubNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
func (Tx) PubSubShardChannels ¶
func (c Tx) PubSubShardChannels(ctx context.Context, pattern string) *StringSliceCmd
func (Tx) PubSubShardNumSub ¶
func (c Tx) PubSubShardNumSub(ctx context.Context, channels ...string) *MapStringIntCmd
func (Tx) RPopCount ¶
func (c Tx) RPopCount(ctx context.Context, key string, count int) *StringSliceCmd
func (Tx) RestoreReplace ¶
func (Tx) SDiffStore ¶
func (Tx) SInterCard ¶
func (Tx) SInterStore ¶
func (Tx) SMIsMember ¶
func (c Tx) SMIsMember(ctx context.Context, key string, members ...interface{}) *BoolSliceCmd
SMIsMember Redis `SMISMEMBER key member [member ...]` command.
func (Tx) SMembers ¶
func (c Tx) SMembers(ctx context.Context, key string) *StringSliceCmd
SMembers Redis `SMEMBERS key` command output as a slice.
func (Tx) SMembersMap ¶
func (c Tx) SMembersMap(ctx context.Context, key string) *StringStructMapCmd
SMembersMap Redis `SMEMBERS key` command output as a map.
func (Tx) SPopN ¶
func (c Tx) SPopN(ctx context.Context, key string, count int64) *StringSliceCmd
SPopN Redis `SPOP key count` command.
func (Tx) SRandMember ¶
SRandMember Redis `SRANDMEMBER key` command.
func (Tx) SRandMemberN ¶
func (c Tx) SRandMemberN(ctx context.Context, key string, count int64) *StringSliceCmd
SRandMemberN Redis `SRANDMEMBER key count` command.
func (Tx) SUnionStore ¶
func (Tx) ScriptExists ¶
func (c Tx) ScriptExists(ctx context.Context, hashes ...string) *BoolSliceCmd
func (Tx) ScriptFlush ¶
func (Tx) ScriptKill ¶
func (Tx) Set ¶
func (c Tx) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
Set Redis `SET key value [expiration]` command. Use expiration for `SETEx`-like behavior.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Tx) SetArgs ¶
SetArgs supports all the options that the SET command supports. It is the alternative to the Set function when you want to have more control over the options.
func (Tx) SetEx ¶
func (c Tx) SetEx(ctx context.Context, key string, value interface{}, expiration time.Duration) *StatusCmd
SetEx Redis `SETEx key expiration value` command.
func (Tx) SetNX ¶
func (c Tx) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetNX Redis `SET key value [expiration] NX` command.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Tx) SetXX ¶
func (c Tx) SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *BoolCmd
SetXX Redis `SET key value [expiration] XX` command.
Zero expiration means the key has no expiration time. KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0, otherwise you will receive an error: (error) ERR syntax error.
func (Tx) ShutdownNoSave ¶
func (Tx) ShutdownSave ¶
func (Tx) SlowLogGet ¶
func (c Tx) SlowLogGet(ctx context.Context, num int64) *SlowLogCmd
func (Tx) SortInterfaces ¶
func (*Tx) TxPipeline ¶
TxPipeline creates a pipeline. Usually it is more convenient to use TxPipelined.
func (*Tx) TxPipelined ¶
TxPipelined executes commands queued in the fn in the transaction.
When using WATCH, EXEC will execute commands only if the watched keys were not modified, allowing for a check-and-set mechanism.
Exec always returns list of commands. If transaction fails TxFailedErr is returned. Otherwise Exec returns an error of the first failed command or nil.
func (Tx) XAutoClaim ¶
func (c Tx) XAutoClaim(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimCmd
func (Tx) XAutoClaimJustID ¶
func (c Tx) XAutoClaimJustID(ctx context.Context, a *XAutoClaimArgs) *XAutoClaimJustIDCmd
func (Tx) XClaim ¶
func (c Tx) XClaim(ctx context.Context, a *XClaimArgs) *XMessageSliceCmd
func (Tx) XClaimJustID ¶
func (c Tx) XClaimJustID(ctx context.Context, a *XClaimArgs) *StringSliceCmd
func (Tx) XGroupCreate ¶
func (Tx) XGroupCreateConsumer ¶
func (Tx) XGroupCreateMkStream ¶
func (Tx) XGroupDelConsumer ¶
func (Tx) XGroupDestroy ¶
func (Tx) XGroupSetID ¶
func (Tx) XInfoConsumers ¶
func (c Tx) XInfoConsumers(ctx context.Context, key string, group string) *XInfoConsumersCmd
func (Tx) XInfoGroups ¶
func (c Tx) XInfoGroups(ctx context.Context, key string) *XInfoGroupsCmd
func (Tx) XInfoStream ¶
func (c Tx) XInfoStream(ctx context.Context, key string) *XInfoStreamCmd
func (Tx) XInfoStreamFull ¶
func (c Tx) XInfoStreamFull(ctx context.Context, key string, count int) *XInfoStreamFullCmd
XInfoStreamFull XINFO STREAM FULL [COUNT count] redis-server >= 6.0.
func (Tx) XPendingExt ¶
func (c Tx) XPendingExt(ctx context.Context, a *XPendingExtArgs) *XPendingExtCmd
func (Tx) XRange ¶
func (c Tx) XRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
func (Tx) XRangeN ¶
func (c Tx) XRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
func (Tx) XReadGroup ¶
func (c Tx) XReadGroup(ctx context.Context, a *XReadGroupArgs) *XStreamSliceCmd
func (Tx) XReadStreams ¶
func (c Tx) XReadStreams(ctx context.Context, streams ...string) *XStreamSliceCmd
func (Tx) XRevRange ¶
func (c Tx) XRevRange(ctx context.Context, stream, start, stop string) *XMessageSliceCmd
func (Tx) XRevRangeN ¶
func (c Tx) XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *XMessageSliceCmd
func (Tx) XTrimMaxLen ¶
XTrimMaxLen No `~` rules are used, `limit` cannot be used. cmd: XTRIM key MAXLEN maxLen
func (Tx) XTrimMaxLenApprox ¶
func (Tx) XTrimMinID ¶
func (Tx) XTrimMinIDApprox ¶
func (Tx) ZAddArgsIncr ¶
func (Tx) ZDiff ¶
func (c Tx) ZDiff(ctx context.Context, keys ...string) *StringSliceCmd
ZDiff redis-server version >= 6.2.0.
func (Tx) ZDiffStore ¶
ZDiffStore redis-server version >=6.2.0.
func (Tx) ZDiffWithScores ¶
ZDiffWithScores redis-server version >= 6.2.0.
func (Tx) ZInterCard ¶
func (Tx) ZInterStore ¶
func (Tx) ZInterWithScores ¶
func (Tx) ZMScore ¶
func (c Tx) ZMScore(ctx context.Context, key string, members ...string) *FloatSliceCmd
func (Tx) ZRandMember ¶
func (c Tx) ZRandMember(ctx context.Context, key string, count int) *StringSliceCmd
ZRandMember redis-server version >= 6.2.0.
func (Tx) ZRandMemberWithScores ¶
ZRandMemberWithScores redis-server version >= 6.2.0.
func (Tx) ZRange ¶
func (c Tx) ZRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Tx) ZRangeArgs ¶
func (c Tx) ZRangeArgs(ctx context.Context, z ZRangeArgs) *StringSliceCmd
func (Tx) ZRangeArgsWithScores ¶
func (c Tx) ZRangeArgsWithScores(ctx context.Context, z ZRangeArgs) *ZSliceCmd
func (Tx) ZRangeByLex ¶
func (c Tx) ZRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Tx) ZRangeByScore ¶
func (c Tx) ZRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Tx) ZRangeByScoreWithScores ¶
func (Tx) ZRangeStore ¶
func (c Tx) ZRangeStore(ctx context.Context, dst string, z ZRangeArgs) *IntCmd
func (Tx) ZRangeWithScores ¶
func (Tx) ZRemRangeByLex ¶
func (Tx) ZRemRangeByRank ¶
func (Tx) ZRemRangeByScore ¶
func (Tx) ZRevRange ¶
func (c Tx) ZRevRange(ctx context.Context, key string, start, stop int64) *StringSliceCmd
func (Tx) ZRevRangeByLex ¶
func (c Tx) ZRevRangeByLex(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Tx) ZRevRangeByScore ¶
func (c Tx) ZRevRangeByScore(ctx context.Context, key string, opt *ZRangeBy) *StringSliceCmd
func (Tx) ZRevRangeByScoreWithScores ¶
func (Tx) ZRevRangeWithScores ¶
func (Tx) ZUnionStore ¶
type UniversalClient ¶
type UniversalClient interface {
Cmdable
AddHook(Hook)
Watch(ctx context.Context, fn func(*Tx) error, keys ...string) error
Do(ctx context.Context, args ...interface{}) *Cmd
Process(ctx context.Context, cmd Cmder) error
Subscribe(ctx context.Context, channels ...string) *PubSub
PSubscribe(ctx context.Context, channels ...string) *PubSub
SSubscribe(ctx context.Context, channels ...string) *PubSub
Close() error
PoolStats() *PoolStats
}
UniversalClient is an abstract client which - based on the provided options - represents either a ClusterClient, a FailoverClient, or a single-node Client. This can be useful for testing cluster-specific applications locally or having different clients in different environments.
func NewUniversalClient ¶
func NewUniversalClient(opts *UniversalOptions) UniversalClient
NewUniversalClient returns a new multi client. The type of the returned client depends on the following conditions:
1. If the MasterName option is specified, a sentinel-backed FailoverClient is returned. 2. if the number of Addrs is two or more, a ClusterClient is returned. 3. Otherwise, a single-node Client is returned.
type UniversalOptions ¶
type UniversalOptions struct {
// Either a single address or a seed list of host:port addresses
// of cluster/sentinel nodes.
Addrs []string
// ClientName will execute the `CLIENT SETNAME ClientName` command for each conn.
ClientName string
// Database to be selected after connecting to the server.
// Only single-node and failover clients.
DB int
Dialer func(ctx context.Context, network, addr string) (net.Conn, error)
OnConnect func(ctx context.Context, cn *Conn) error
Username string
Password string
SentinelUsername string
SentinelPassword string
MaxRetries int
MinRetryBackoff time.Duration
MaxRetryBackoff time.Duration
DialTimeout time.Duration
ReadTimeout time.Duration
WriteTimeout time.Duration
ContextTimeoutEnabled bool
// PoolFIFO uses FIFO mode for each node connection pool GET/PUT (default LIFO).
PoolFIFO bool
PoolSize int
PoolTimeout time.Duration
MinIdleConns int
MaxIdleConns int
ConnMaxIdleTime time.Duration
ConnMaxLifetime time.Duration
TLSConfig *tls.Config
MaxRedirects int
ReadOnly bool
RouteByLatency bool
RouteRandomly bool
MasterName string
}
UniversalOptions information is required by UniversalClient to establish connections.
func (*UniversalOptions) Cluster ¶
func (o *UniversalOptions) Cluster() *ClusterOptions
Cluster returns cluster options created from the universal options.
func (*UniversalOptions) Failover ¶
func (o *UniversalOptions) Failover() *FailoverOptions
Failover returns failover options created from the universal options.
func (*UniversalOptions) Simple ¶
func (o *UniversalOptions) Simple() *Options
Simple returns basic options created from the universal options.
type XAddArgs ¶
type XAddArgs struct {
Stream string
NoMkStream bool
MaxLen int64 // MAXLEN N
MinID string
// Approx causes MaxLen and MinID to use "~" matcher (instead of "=").
Approx bool
Limit int64
ID string
Values interface{}
}
XAddArgs accepts values in the following formats:
- XAddArgs.Values = []interface{}{"key1", "value1", "key2", "value2"}
- XAddArgs.Values = []string("key1", "value1", "key2", "value2")
- XAddArgs.Values = map[string]interface{}{"key1": "value1", "key2": "value2"}
Note that map will not preserve the order of key-value pairs. MaxLen/MaxLenApprox and MinID are in conflict, only one of them can be used.
type XAutoClaimArgs ¶
type XAutoClaimCmd ¶
type XAutoClaimCmd struct {
// contains filtered or unexported fields
}
func NewXAutoClaimCmd ¶
func NewXAutoClaimCmd(ctx context.Context, args ...interface{}) *XAutoClaimCmd
func (*XAutoClaimCmd) Result ¶
func (cmd *XAutoClaimCmd) Result() (messages []XMessage, start string, err error)
func (*XAutoClaimCmd) SetFirstKeyPos ¶
func (cmd *XAutoClaimCmd) SetFirstKeyPos(keyPos int8)
func (*XAutoClaimCmd) SetVal ¶
func (cmd *XAutoClaimCmd) SetVal(val []XMessage, start string)
func (*XAutoClaimCmd) String ¶
func (cmd *XAutoClaimCmd) String() string
func (*XAutoClaimCmd) Val ¶
func (cmd *XAutoClaimCmd) Val() (messages []XMessage, start string)
type XAutoClaimJustIDCmd ¶
type XAutoClaimJustIDCmd struct {
// contains filtered or unexported fields
}
func NewXAutoClaimJustIDCmd ¶
func NewXAutoClaimJustIDCmd(ctx context.Context, args ...interface{}) *XAutoClaimJustIDCmd
func (*XAutoClaimJustIDCmd) Result ¶
func (cmd *XAutoClaimJustIDCmd) Result() (ids []string, start string, err error)
func (*XAutoClaimJustIDCmd) SetFirstKeyPos ¶
func (cmd *XAutoClaimJustIDCmd) SetFirstKeyPos(keyPos int8)
func (*XAutoClaimJustIDCmd) SetVal ¶
func (cmd *XAutoClaimJustIDCmd) SetVal(val []string, start string)
func (*XAutoClaimJustIDCmd) String ¶
func (cmd *XAutoClaimJustIDCmd) String() string
func (*XAutoClaimJustIDCmd) Val ¶
func (cmd *XAutoClaimJustIDCmd) Val() (ids []string, start string)
type XClaimArgs ¶
type XInfoConsumersCmd ¶
type XInfoConsumersCmd struct {
// contains filtered or unexported fields
}
func NewXInfoConsumersCmd ¶
func NewXInfoConsumersCmd(ctx context.Context, stream string, group string) *XInfoConsumersCmd
func (*XInfoConsumersCmd) Result ¶
func (cmd *XInfoConsumersCmd) Result() ([]XInfoConsumer, error)
func (*XInfoConsumersCmd) SetFirstKeyPos ¶
func (cmd *XInfoConsumersCmd) SetFirstKeyPos(keyPos int8)
func (*XInfoConsumersCmd) SetVal ¶
func (cmd *XInfoConsumersCmd) SetVal(val []XInfoConsumer)
func (*XInfoConsumersCmd) String ¶
func (cmd *XInfoConsumersCmd) String() string
func (*XInfoConsumersCmd) Val ¶
func (cmd *XInfoConsumersCmd) Val() []XInfoConsumer
type XInfoGroup ¶
type XInfoGroupsCmd ¶
type XInfoGroupsCmd struct {
// contains filtered or unexported fields
}
func NewXInfoGroupsCmd ¶
func NewXInfoGroupsCmd(ctx context.Context, stream string) *XInfoGroupsCmd
func (*XInfoGroupsCmd) Result ¶
func (cmd *XInfoGroupsCmd) Result() ([]XInfoGroup, error)
func (*XInfoGroupsCmd) SetFirstKeyPos ¶
func (cmd *XInfoGroupsCmd) SetFirstKeyPos(keyPos int8)
func (*XInfoGroupsCmd) SetVal ¶
func (cmd *XInfoGroupsCmd) SetVal(val []XInfoGroup)
func (*XInfoGroupsCmd) String ¶
func (cmd *XInfoGroupsCmd) String() string
func (*XInfoGroupsCmd) Val ¶
func (cmd *XInfoGroupsCmd) Val() []XInfoGroup
type XInfoStream ¶
type XInfoStreamCmd ¶
type XInfoStreamCmd struct {
// contains filtered or unexported fields
}
func NewXInfoStreamCmd ¶
func NewXInfoStreamCmd(ctx context.Context, stream string) *XInfoStreamCmd
func (*XInfoStreamCmd) Result ¶
func (cmd *XInfoStreamCmd) Result() (*XInfoStream, error)
func (*XInfoStreamCmd) SetFirstKeyPos ¶
func (cmd *XInfoStreamCmd) SetFirstKeyPos(keyPos int8)
func (*XInfoStreamCmd) SetVal ¶
func (cmd *XInfoStreamCmd) SetVal(val *XInfoStream)
func (*XInfoStreamCmd) String ¶
func (cmd *XInfoStreamCmd) String() string
func (*XInfoStreamCmd) Val ¶
func (cmd *XInfoStreamCmd) Val() *XInfoStream
type XInfoStreamConsumer ¶
type XInfoStreamConsumer struct {
Name string
SeenTime time.Time
PelCount int64
Pending []XInfoStreamConsumerPending
}
type XInfoStreamFull ¶
type XInfoStreamFullCmd ¶
type XInfoStreamFullCmd struct {
// contains filtered or unexported fields
}
func NewXInfoStreamFullCmd ¶
func NewXInfoStreamFullCmd(ctx context.Context, args ...interface{}) *XInfoStreamFullCmd
func (*XInfoStreamFullCmd) Result ¶
func (cmd *XInfoStreamFullCmd) Result() (*XInfoStreamFull, error)
func (*XInfoStreamFullCmd) SetFirstKeyPos ¶
func (cmd *XInfoStreamFullCmd) SetFirstKeyPos(keyPos int8)
func (*XInfoStreamFullCmd) SetVal ¶
func (cmd *XInfoStreamFullCmd) SetVal(val *XInfoStreamFull)
func (*XInfoStreamFullCmd) String ¶
func (cmd *XInfoStreamFullCmd) String() string
func (*XInfoStreamFullCmd) Val ¶
func (cmd *XInfoStreamFullCmd) Val() *XInfoStreamFull
type XInfoStreamGroup ¶
type XInfoStreamGroup struct {
Name string
LastDeliveredID string
EntriesRead int64
Lag int64
PelCount int64
Pending []XInfoStreamGroupPending
Consumers []XInfoStreamConsumer
}
type XInfoStreamGroupPending ¶
type XMessageSliceCmd ¶
type XMessageSliceCmd struct {
// contains filtered or unexported fields
}
func NewXMessageSliceCmd ¶
func NewXMessageSliceCmd(ctx context.Context, args ...interface{}) *XMessageSliceCmd
func NewXMessageSliceCmdResult ¶
func NewXMessageSliceCmdResult(val []XMessage, err error) *XMessageSliceCmd
NewXMessageSliceCmdResult returns a XMessageSliceCmd initialised with val and err for testing.
func (*XMessageSliceCmd) Result ¶
func (cmd *XMessageSliceCmd) Result() ([]XMessage, error)
func (*XMessageSliceCmd) SetFirstKeyPos ¶
func (cmd *XMessageSliceCmd) SetFirstKeyPos(keyPos int8)
func (*XMessageSliceCmd) SetVal ¶
func (cmd *XMessageSliceCmd) SetVal(val []XMessage)
func (*XMessageSliceCmd) String ¶
func (cmd *XMessageSliceCmd) String() string
func (*XMessageSliceCmd) Val ¶
func (cmd *XMessageSliceCmd) Val() []XMessage
type XPendingCmd ¶
type XPendingCmd struct {
// contains filtered or unexported fields
}
func NewXPendingCmd ¶
func NewXPendingCmd(ctx context.Context, args ...interface{}) *XPendingCmd
func NewXPendingResult ¶
func NewXPendingResult(val *XPending, err error) *XPendingCmd
NewXPendingResult returns a XPendingCmd initialised with val and err for testing.
func (*XPendingCmd) Result ¶
func (cmd *XPendingCmd) Result() (*XPending, error)
func (*XPendingCmd) SetFirstKeyPos ¶
func (cmd *XPendingCmd) SetFirstKeyPos(keyPos int8)
func (*XPendingCmd) SetVal ¶
func (cmd *XPendingCmd) SetVal(val *XPending)
func (*XPendingCmd) String ¶
func (cmd *XPendingCmd) String() string
func (*XPendingCmd) Val ¶
func (cmd *XPendingCmd) Val() *XPending
type XPendingExt ¶
type XPendingExtArgs ¶
type XPendingExtCmd ¶
type XPendingExtCmd struct {
// contains filtered or unexported fields
}
func NewXPendingExtCmd ¶
func NewXPendingExtCmd(ctx context.Context, args ...interface{}) *XPendingExtCmd
func (*XPendingExtCmd) Result ¶
func (cmd *XPendingExtCmd) Result() ([]XPendingExt, error)
func (*XPendingExtCmd) SetFirstKeyPos ¶
func (cmd *XPendingExtCmd) SetFirstKeyPos(keyPos int8)
func (*XPendingExtCmd) SetVal ¶
func (cmd *XPendingExtCmd) SetVal(val []XPendingExt)
func (*XPendingExtCmd) String ¶
func (cmd *XPendingExtCmd) String() string
func (*XPendingExtCmd) Val ¶
func (cmd *XPendingExtCmd) Val() []XPendingExt
type XReadGroupArgs ¶
type XStreamSliceCmd ¶
type XStreamSliceCmd struct {
// contains filtered or unexported fields
}
func NewXStreamSliceCmd ¶
func NewXStreamSliceCmd(ctx context.Context, args ...interface{}) *XStreamSliceCmd
func NewXStreamSliceCmdResult ¶
func NewXStreamSliceCmdResult(val []XStream, err error) *XStreamSliceCmd
NewXStreamSliceCmdResult returns a XStreamSliceCmd initialised with val and err for testing.
func (*XStreamSliceCmd) Result ¶
func (cmd *XStreamSliceCmd) Result() ([]XStream, error)
func (*XStreamSliceCmd) SetFirstKeyPos ¶
func (cmd *XStreamSliceCmd) SetFirstKeyPos(keyPos int8)
func (*XStreamSliceCmd) SetVal ¶
func (cmd *XStreamSliceCmd) SetVal(val []XStream)
func (*XStreamSliceCmd) String ¶
func (cmd *XStreamSliceCmd) String() string
func (*XStreamSliceCmd) Val ¶
func (cmd *XStreamSliceCmd) Val() []XStream
type ZRangeArgs ¶
type ZRangeArgs struct {
Key string
// When the ByScore option is provided, the open interval(exclusive) can be set.
// By default, the score intervals specified by <Start> and <Stop> are closed (inclusive).
// It is similar to the deprecated(6.2.0+) ZRangeByScore command.
// For example:
// ZRangeArgs{
// Key: "example-key",
// Start: "(3",
// Stop: 8,
// ByScore: true,
// }
// cmd: "ZRange example-key (3 8 ByScore" (3 < score <= 8).
//
// For the ByLex option, it is similar to the deprecated(6.2.0+) ZRangeByLex command.
// You can set the <Start> and <Stop> options as follows:
// ZRangeArgs{
// Key: "example-key",
// Start: "[abc",
// Stop: "(def",
// ByLex: true,
// }
// cmd: "ZRange example-key [abc (def ByLex"
//
// For normal cases (ByScore==false && ByLex==false), <Start> and <Stop> should be set to the index range (int).
// You can read the documentation for more information: https://redis.io/commands/zrange
Start interface{}
Stop interface{}
// The ByScore and ByLex options are mutually exclusive.
ByScore bool
ByLex bool
Rev bool
// limit offset count.
Offset int64
Count int64
}
ZRangeArgs is all the options of the ZRange command. In version> 6.2.0, you can replace the(cmd):
ZREVRANGE, ZRANGEBYSCORE, ZREVRANGEBYSCORE, ZRANGEBYLEX, ZREVRANGEBYLEX.
Please pay attention to your redis-server version.
Rev, ByScore, ByLex and Offset+Count options require redis-server 6.2.0 and higher.
type ZSliceCmd ¶
type ZSliceCmd struct {
// contains filtered or unexported fields
}
func NewZSliceCmd ¶
func NewZSliceCmdResult ¶
NewZSliceCmdResult returns a ZSliceCmd initialised with val and err for testing.
func (*ZSliceCmd) SetFirstKeyPos ¶
func (cmd *ZSliceCmd) SetFirstKeyPos(keyPos int8)
type ZWithKey ¶
ZWithKey represents sorted set member including the name of the key where it was popped.
type ZWithKeyCmd ¶
type ZWithKeyCmd struct {
// contains filtered or unexported fields
}
func NewZWithKeyCmd ¶
func NewZWithKeyCmd(ctx context.Context, args ...interface{}) *ZWithKeyCmd
func NewZWithKeyCmdResult ¶
func NewZWithKeyCmdResult(val *ZWithKey, err error) *ZWithKeyCmd
NewZWithKeyCmdResult returns a NewZWithKeyCmd initialised with val and err for testing.
func (*ZWithKeyCmd) Result ¶
func (cmd *ZWithKeyCmd) Result() (*ZWithKey, error)
func (*ZWithKeyCmd) SetFirstKeyPos ¶
func (cmd *ZWithKeyCmd) SetFirstKeyPos(keyPos int8)
func (*ZWithKeyCmd) SetVal ¶
func (cmd *ZWithKeyCmd) SetVal(val *ZWithKey)
func (*ZWithKeyCmd) String ¶
func (cmd *ZWithKeyCmd) String() string
func (*ZWithKeyCmd) Val ¶
func (cmd *ZWithKeyCmd) Val() *ZWithKey
