Documentation ¶
Index ¶
- Constants
- func AppendArg(b []byte, v any) []byte
- func Caller(skip int) map[string]string
- func String(b []byte) string
- type Client
- func (r *Client) ACLDryRun(ctx context.Context, username string, command ...interface{}) (val string, err error)
- func (r *Client) ACLLog(ctx context.Context, count int64) (val []*redis.ACLLogEntry, err error)
- func (r *Client) ACLLogReset(ctx context.Context) (val string, err error)
- func (r *Client) Append(ctx context.Context, key any, value string) (val int64, err error)
- func (r *Client) BLMPop(ctx context.Context, timeout time.Duration, direction string, count int64, ...) (key string, val []string, err error)
- func (r *Client) BLMove(ctx context.Context, source, destination, srcpos, destpos any, ...) (val string, err error)
- func (r *Client) BLPop(ctx context.Context, timeout time.Duration, keys ...any) (val []string, err error)
- func (r *Client) BRPop(ctx context.Context, timeout time.Duration, keys ...any) (val []string, err error)
- func (r *Client) BRPopLPush(ctx context.Context, source, destination any, timeout time.Duration) (val string, err error)
- func (r *Client) BZMPop(ctx context.Context, timeout time.Duration, order string, count int64, ...) (val string, ret []redis.Z, err error)
- func (r *Client) BZPopMax(ctx context.Context, timeout time.Duration, keys ...any) (val *redis.ZWithKey, err error)
- func (r *Client) BZPopMin(ctx context.Context, timeout time.Duration, keys ...any) (val *redis.ZWithKey, err error)
- func (r *Client) BgRewriteAOF(ctx context.Context) (val string, err error)
- func (r *Client) BgSave(ctx context.Context) (val string, err error)
- func (r *Client) BitCount(ctx context.Context, key any, bitCount *redis.BitCount) (val int64, err error)
- func (r *Client) BitField(ctx context.Context, key any, args ...any) (val []int64, err error)
- func (r *Client) BitOpAnd(ctx context.Context, destKey any, keys ...any) (val int64, err error)
- func (r *Client) BitOpNot(ctx context.Context, destKey any, key any) (val int64, err error)
- func (r *Client) BitOpOr(ctx context.Context, destKey any, keys ...any) (val int64, err error)
- func (r *Client) BitOpXor(ctx context.Context, destKey any, keys ...any) (val int64, err error)
- func (r *Client) BitPos(ctx context.Context, key any, bit int64, pos ...int64) (val int64, err error)
- func (r *Client) BitPosSpan(ctx context.Context, key any, bit int8, start, end int64, span string) (val int64, err error)
- func (r *Client) ClientGetName(ctx context.Context) (val string, err error)
- func (r *Client) ClientID(ctx context.Context) (val int64, err error)
- func (r *Client) ClientInfo(ctx context.Context) (val *redis.ClientInfo, err error)
- func (r *Client) ClientKill(ctx context.Context, ipPort string) (val string, err error)
- func (r *Client) ClientKillByFilter(ctx context.Context, keys ...any) (val int64, err error)
- func (r *Client) ClientList(ctx context.Context) (val string, err error)
- func (r *Client) ClientPause(ctx context.Context, dur time.Duration) (val bool, err error)
- func (r *Client) ClientUnblock(ctx context.Context, id int64) (val int64, err error)
- func (r *Client) ClientUnblockWithError(ctx context.Context, id int64) (val int64, err error)
- func (r *Client) ClientUnpause(ctx context.Context) (val bool, err error)
- func (r *Client) ClusterAddSlots(ctx context.Context, slots ...int) (val string, err error)
- func (r *Client) ClusterAddSlotsRange(ctx context.Context, min, max int) (val string, err error)
- func (r *Client) ClusterCountFailureReports(ctx context.Context, nodeID string) (val int64, err error)
- func (r *Client) ClusterCountKeysInSlot(ctx context.Context, slot int) (val int64, err error)
- func (r *Client) ClusterDelSlots(ctx context.Context, slots ...int) (val string, err error)
- func (r *Client) ClusterDelSlotsRange(ctx context.Context, min, max int) (val string, err error)
- func (r *Client) ClusterFailover(ctx context.Context) (val string, err error)
- func (r *Client) ClusterForget(ctx context.Context, nodeID string) (val string, err error)
- func (r *Client) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) (val []string, err error)
- func (r *Client) ClusterInfo(ctx context.Context) (val string, err error)
- func (r *Client) ClusterKeySlot(ctx context.Context, key any) (val int64, err error)
- func (r *Client) ClusterLinks(ctx context.Context) (val []redis.ClusterLink, err error)
- func (r *Client) ClusterMeet(ctx context.Context, host, port string) (val string, err error)
- func (r *Client) ClusterMyShardID(ctx context.Context) (val string, err error)
- func (r *Client) ClusterNodes(ctx context.Context) (val string, err error)
- func (r *Client) ClusterReplicate(ctx context.Context, nodeID string) (val string, err error)
- func (r *Client) ClusterResetHard(ctx context.Context) (val string, err error)
- func (r *Client) ClusterResetSoft(ctx context.Context) (val string, err error)
- func (r *Client) ClusterSaveConfig(ctx context.Context) (val string, err error)
- func (r *Client) ClusterShards(ctx context.Context) (val []redis.ClusterShard, err error)
- func (r *Client) ClusterSlaves(ctx context.Context, nodeID string) (val []string, err error)
- func (r *Client) ClusterSlots(ctx context.Context) (val []redis.ClusterSlot, err error)
- func (r *Client) Command(ctx context.Context) (val map[string]*redis.CommandInfo, err error)
- func (r *Client) CommandGetKeys(ctx context.Context, commands ...interface{}) (val []string, err error)
- func (r *Client) CommandGetKeysAndFlags(ctx context.Context, commands ...interface{}) (val []redis.KeyFlags, err error)
- func (r *Client) CommandList(ctx context.Context, filter *redis.FilterBy) (val []string, err error)
- func (r *Client) ConfigGet(ctx context.Context, parameter string) (val map[string]string, err error)
- func (r *Client) ConfigResetStat(ctx context.Context) (val string, err error)
- func (r *Client) ConfigRewrite(ctx context.Context) (val string, err error)
- func (r *Client) ConfigSet(ctx context.Context, parameter, value string) (val string, err error)
- func (r *Client) Copy(ctx context.Context, sourceKey any, destKey any, db int, replace bool) (val int64, err error)
- func (r *Client) DBSize(ctx context.Context) (val int64, err error)
- func (r *Client) DebugObject(ctx context.Context, key any) (val string, err error)
- func (r *Client) Decr(ctx context.Context, key any) (val int64, err error)
- func (r *Client) DecrBy(ctx context.Context, key any, value int64) (val int64, err error)
- func (r *Client) Del(ctx context.Context, keys ...any) (val int64, err error)
- func (r *Client) Dump(ctx context.Context, key any) (val string, err error)
- func (r *Client) Echo(ctx context.Context, message any) (val string, err error)
- func (r *Client) Eval(ctx context.Context, script string, keys []any, args ...any) (val any, err error)
- func (r *Client) EvalRO(ctx context.Context, script string, keys []any, args ...any) (val any, err error)
- func (r *Client) EvalSha(ctx context.Context, sha1 string, keys []any, args ...any) (val any, err error)
- func (r *Client) EvalShaRO(ctx context.Context, sha1 string, keys []any, args ...any) (val any, err error)
- func (r *Client) Exists(ctx context.Context, key ...any) (val bool, err error)
- func (r *Client) Expire(ctx context.Context, key any, expiration time.Duration) (val bool, err error)
- func (r *Client) ExpireAt(ctx context.Context, key any, tm time.Time) (val bool, err error)
- func (r *Client) ExpireGT(ctx context.Context, key any, tm time.Duration) (val bool, err error)
- func (r *Client) ExpireLT(ctx context.Context, key any, tm time.Duration) (val bool, err error)
- func (r *Client) ExpireNX(ctx context.Context, key any, tm time.Duration) (val bool, err error)
- func (r *Client) ExpireTime(ctx context.Context, key any) (val time.Duration, err error)
- func (r *Client) ExpireXX(ctx context.Context, key any, tm time.Duration) (val bool, err error)
- func (r *Client) FCall(ctx context.Context, function string, keys []any, args ...interface{}) (val interface{}, err error)
- func (r *Client) FCallRO(ctx context.Context, function string, keys []any, args ...interface{}) (val interface{}, err error)
- func (r *Client) FCallRo(ctx context.Context, function string, keys []any, args ...interface{}) (val interface{}, err error)
- func (r *Client) FlushAll(ctx context.Context) (val string, err error)
- func (r *Client) FlushAllAsync(ctx context.Context) (val string, err error)
- func (r *Client) FlushDB(ctx context.Context) (val string, err error)
- func (r *Client) FlushDBAsync(ctx context.Context) (val string, err error)
- func (r *Client) FunctionDelete(ctx context.Context, libName string) (val string, err error)
- func (r *Client) FunctionDump(ctx context.Context) (val string, err error)
- func (r *Client) FunctionFlush(ctx context.Context) (val string, err error)
- func (r *Client) FunctionFlushAsync(ctx context.Context) (val string, err error)
- func (r *Client) FunctionKill(ctx context.Context) (val string, err error)
- func (r *Client) FunctionList(ctx context.Context, q redis.FunctionListQuery) (val []redis.Library, err error)
- func (r *Client) FunctionLoad(ctx context.Context, code string) (val string, err error)
- func (r *Client) FunctionLoadReplace(ctx context.Context, code string) (val string, err error)
- func (r *Client) FunctionRestore(ctx context.Context, libDump string) (val string, err error)
- func (r *Client) FunctionStats(ctx context.Context) (val redis.FunctionStats, err error)
- func (r *Client) GeoAdd(ctx context.Context, key any, geoLocation ...*redis.GeoLocation) (val int64, err error)
- func (r *Client) GeoDist(ctx context.Context, key any, member1, member2, unit string) (val float64, err error)
- func (r *Client) GeoHash(ctx context.Context, key any, members ...string) (val []string, err error)
- func (r *Client) GeoPos(ctx context.Context, key any, members ...string) (val []*redis.GeoPos, err error)
- func (r *Client) GeoRadius(ctx context.Context, key any, longitude, latitude float64, ...) (val []redis.GeoLocation, err error)
- func (r *Client) GeoRadiusByMember(ctx context.Context, key any, member string, query *redis.GeoRadiusQuery) (val []redis.GeoLocation, err error)
- func (r *Client) GeoRadiusByMemberStore(ctx context.Context, key any, member string, query *redis.GeoRadiusQuery) (val int64, err error)
- func (r *Client) GeoRadiusStore(ctx context.Context, key any, longitude, latitude float64, ...) (val int64, err error)
- func (r *Client) GeoSearch(ctx context.Context, key any, q *redis.GeoSearchQuery) (val []string, err error)
- func (r *Client) GeoSearchLocation(ctx context.Context, key any, q *redis.GeoSearchLocationQuery) (val []redis.GeoLocation, err error)
- func (r *Client) GeoSearchStore(ctx context.Context, key any, store string, q *redis.GeoSearchStoreQuery) (val int64, err error)
- func (r *Client) Get(ctx context.Context, key any) (val string, err error)
- func (r *Client) GetBit(ctx context.Context, key any, offset int64) (val int64, err error)
- func (o *Client) GetClientConfig() *redis.Options
- func (o *Client) GetClusterClientConfig() *redis.ClusterOptions
- func (r *Client) GetDel(ctx context.Context, key any) (val string, err error)
- func (r *Client) GetEx(ctx context.Context, key any, ts time.Duration) (val string, err error)
- func (o *Client) GetFailoverClientConfig() *redis.FailoverOptions
- func (r *Client) GetRange(ctx context.Context, key any, start, end int64) (val string, err error)
- func (o *Client) GetRingClientConfig() *redis.RingOptions
- func (r *Client) GetSet(ctx context.Context, key any, value any) (val string, err error)
- func (r *Client) HDel(ctx context.Context, key any, fields ...string) (val int64, err error)
- func (r *Client) HExists(ctx context.Context, key any, field string) (val bool, err error)
- func (r *Client) HGet(ctx context.Context, key any, field string) (val string, err error)
- func (r *Client) HGetAll(ctx context.Context, key any) (val map[string]string, err error)
- func (r *Client) HIncrBy(ctx context.Context, key any, field string, incr int64) (val int64, err error)
- func (r *Client) HIncrByFloat(ctx context.Context, key any, field string, incr float64) (val float64, err error)
- func (r *Client) HKeys(ctx context.Context, key any) (val []string, err error)
- func (r *Client) HLen(ctx context.Context, key any) (val int64, err error)
- func (r *Client) HMGet(ctx context.Context, key any, fields ...string) (val []any, err error)
- func (r *Client) HMSet(ctx context.Context, key any, value ...any) (val bool, err error)
- func (r *Client) HRandField(ctx context.Context, key any, count int) (val []string, err error)
- func (r *Client) HRandFieldWithValues(ctx context.Context, key any, count int) (val []redis.KeyValue, err error)
- func (r *Client) HScan(ctx context.Context, key any, cursorIn uint64, match string, count int64) (val []string, cursor uint64, err error)
- func (r *Client) HSet(ctx context.Context, key any, value ...any) (val int64, err error)
- func (r *Client) HSetNX(ctx context.Context, key any, field string, value any) (val bool, err error)
- func (r *Client) HVals(ctx context.Context, key any) (val []string, err error)
- func (r *Client) Incr(ctx context.Context, key any) (val int64, err error)
- func (r *Client) IncrBy(ctx context.Context, key any, value int64) (val int64, err error)
- func (r *Client) IncrByFloat(ctx context.Context, key any, value float64) (val float64, err error)
- func (r *Client) Info(ctx context.Context, section ...string) (val string, err error)
- func (r *Client) Keys(ctx context.Context, key any) (val []string, err error)
- func (r *Client) LCS(ctx context.Context, q *redis.LCSQuery) (val *redis.LCSMatch, err error)
- func (r *Client) LIndex(ctx context.Context, key any, index int64) (val string, err error)
- func (r *Client) LInsert(ctx context.Context, key any, op string, pivot, value any) (val int64, err error)
- func (r *Client) LInsertAfter(ctx context.Context, key any, pivot, value any) (val int64, err error)
- func (r *Client) LInsertBefore(ctx context.Context, key any, pivot, value any) (val int64, err error)
- func (r *Client) LLen(ctx context.Context, key any) (val int64, err error)
- func (r *Client) LMPop(ctx context.Context, direction string, count int64, keys ...any) (key string, val []string, err error)
- func (r *Client) LMove(ctx context.Context, source, destination, srcpos, destpos any) (val string, err error)
- func (r *Client) LPop(ctx context.Context, key any) (val string, err error)
- func (r *Client) LPopCount(ctx context.Context, key any, count int) (val []string, err error)
- func (r *Client) LPos(ctx context.Context, key any, value string, args redis.LPosArgs) (val int64, err error)
- func (r *Client) LPosCount(ctx context.Context, key any, value string, count int64, args redis.LPosArgs) (val []int64, err error)
- func (r *Client) LPush(ctx context.Context, key any, values ...any) (val int64, err error)
- func (r *Client) LPushX(ctx context.Context, key any, value any) (val int64, err error)
- func (r *Client) LRange(ctx context.Context, key any, start, stop int64) (val []string, err error)
- func (r *Client) LRem(ctx context.Context, key any, count int64, value any) (val int64, err error)
- func (r *Client) LSet(ctx context.Context, key any, index int64, value any) (val string, err error)
- func (r *Client) LTrim(ctx context.Context, key any, start, stop int64) (val string, err error)
- func (r *Client) LastSave(ctx context.Context) (val int64, err error)
- func (r *Client) MGet(ctx context.Context, keys ...any) (val []any, err error)
- func (r *Client) MSet(ctx context.Context, values ...any) (val string, err error)
- func (r *Client) MSetNX(ctx context.Context, values ...any) (val bool, err error)
- func (r *Client) MemoryUsage(ctx context.Context, key any, samples ...int) (val int64, err error)
- func (r *Client) Migrate(ctx context.Context, host, port, key string, db int, timeout time.Duration) (val string, err error)
- func (r *Client) ModuleLoadex(ctx context.Context, conf *redis.ModuleLoadexConfig) (val string, err error)
- func (r *Client) Move(ctx context.Context, key any, db int) (val bool, err error)
- func (r *Client) ObjectEncoding(ctx context.Context, key any) (val string, err error)
- func (r *Client) ObjectIdleTime(ctx context.Context, key any) (val time.Duration, err error)
- func (r *Client) ObjectRefCount(ctx context.Context, key any) (val int64, err error)
- func (r *Client) PExpire(ctx context.Context, key any, expiration time.Duration) (val bool, err error)
- func (r *Client) PExpireAt(ctx context.Context, key any, tm time.Time) (val bool, err error)
- func (r *Client) PExpireTime(ctx context.Context, key any) (val time.Duration, err error)
- func (r *Client) PFAdd(ctx context.Context, key any, els ...any) (val int64, err error)
- func (r *Client) PFCount(ctx context.Context, keys ...any) (val int64, err error)
- func (r *Client) PFMerge(ctx context.Context, dest any, keys ...any) (val string, err error)
- func (r *Client) PTTL(ctx context.Context, key any) (val time.Duration, err error)
- func (r *Client) Persist(ctx context.Context, key any) (val bool, err error)
- func (r *Client) Ping(ctx context.Context) (val string, err error)
- func (r *Client) Pipeline() (val redis.Pipeliner, err error)
- func (r *Client) Pipelined(ctx context.Context, fn func(redis.Pipeliner) error) (val []redis.Cmder, err error)
- func (r *Client) Prefix(key string) string
- func (r *Client) PubSubChannels(ctx context.Context, pattern any) (val []string, err error)
- func (r *Client) PubSubNumPat(ctx context.Context) (val int64, err error)
- func (r *Client) PubSubNumSub(ctx context.Context, channels ...any) (val map[string]int64, err error)
- func (r *Client) PubSubShardChannels(ctx context.Context, pattern any) (val []string, err error)
- func (r *Client) PubSubShardNumSub(ctx context.Context, channels ...any) (val map[string]int64, err error)
- func (r *Client) Publish(ctx context.Context, channel any, message any) (val int64, err error)
- func (r *Client) Quit(ctx context.Context) (val string, err error)
- func (r *Client) RPop(ctx context.Context, key any) (val string, err error)
- func (r *Client) RPopCount(ctx context.Context, key any, count int) (val []string, err error)
- func (r *Client) RPopLPush(ctx context.Context, source, destination any) (val string, err error)
- func (r *Client) RPush(ctx context.Context, key any, values ...any) (val int64, err error)
- func (r *Client) RPushX(ctx context.Context, key any, value any) (val int64, err error)
- func (r *Client) RandomKey(ctx context.Context) (val string, err error)
- func (r *Client) ReadOnly(ctx context.Context) (val string, err error)
- func (r *Client) ReadWrite(ctx context.Context) (val string, err error)
- func (r *Client) Rename(ctx context.Context, key, newkey any) (val string, err error)
- func (r *Client) RenameNX(ctx context.Context, key, newkey any) (val bool, err error)
- func (r *Client) Restore(ctx context.Context, key any, ttl time.Duration, value string) (val string, err error)
- func (r *Client) RestoreReplace(ctx context.Context, key any, ttl time.Duration, value string) (val string, err error)
- func (r *Client) SAdd(ctx context.Context, key any, members ...any) (val int64, err error)
- func (r *Client) SCard(ctx context.Context, key any) (val int64, err error)
- func (r *Client) SDiff(ctx context.Context, keys ...any) (val []string, err error)
- func (r *Client) SDiffStore(ctx context.Context, destination any, keys ...any) (val int64, err error)
- func (r *Client) SInter(ctx context.Context, keys ...any) (val []string, err error)
- func (r *Client) SInterCard(ctx context.Context, limit int64, keys ...any) (val int64, err error)
- func (r *Client) SInterStore(ctx context.Context, destination any, keys ...any) (val int64, err error)
- func (r *Client) SIsMember(ctx context.Context, key any, member any) (val bool, err error)
- func (r *Client) SMIsMember(ctx context.Context, key string, members ...any) (val []bool, err error)
- func (r *Client) SMembers(ctx context.Context, key any) (val []string, err error)
- func (r *Client) SMembersMap(ctx context.Context, key any) (val map[string]struct{}, err error)
- func (r *Client) SMove(ctx context.Context, source, destination any, member any) (val bool, err error)
- func (r *Client) SPop(ctx context.Context, key any) (val string, err error)
- func (r *Client) SPopN(ctx context.Context, key any, count int64) (val []string, err error)
- func (r *Client) SPublish(ctx context.Context, channel any, message any) (val int64, err error)
- func (r *Client) SRandMember(ctx context.Context, key any) (val string, err error)
- func (r *Client) SRandMemberN(ctx context.Context, key any, count int64) (val []string, err error)
- func (r *Client) SRem(ctx context.Context, key any, members ...any) (val int64, err error)
- func (r *Client) SScan(ctx context.Context, key any, cursorIn uint64, match string, count int64) (val []string, cursor uint64, err error)
- func (r *Client) SUnion(ctx context.Context, keys ...any) (val []string, err error)
- func (r *Client) SUnionStore(ctx context.Context, destination any, keys ...any) (val int64, err error)
- func (r *Client) Save(ctx context.Context) (val string, err error)
- func (r *Client) Scan(ctx context.Context, cursorIn uint64, match any, count int64) (val []string, cursor uint64, err error)
- func (r *Client) ScanIterator(ctx context.Context, cursorIn uint64, match any, count int64) (val *redis.ScanIterator, err error)
- func (r *Client) ScanType(ctx context.Context, cursorIn uint64, match any, count int64, keyType string) (val []string, cursor uint64, err error)
- func (r *Client) ScriptExists(ctx context.Context, hashes ...string) (val []bool, err error)
- func (r *Client) ScriptFlush(ctx context.Context) (val string, err error)
- func (r *Client) ScriptKill(ctx context.Context) (val string, err error)
- func (r *Client) ScriptLoad(ctx context.Context, script string) (val string, err error)
- func (r *Client) Set(ctx context.Context, key any, value any, expiration time.Duration) (val string, err error)
- func (r *Client) SetArgs(ctx context.Context, key any, value any, a redis.SetArgs) (val string, err error)
- func (r *Client) SetBit(ctx context.Context, key any, offset int64, value int) (val int64, err error)
- func (r *Client) SetEx(ctx context.Context, key any, value any, expiration time.Duration) (val string, err error)
- func (r *Client) SetNX(ctx context.Context, key any, value any, expiration time.Duration) (val bool, err error)
- func (r *Client) SetRange(ctx context.Context, key any, offset int64, value string) (val int64, err error)
- func (r *Client) SetXX(ctx context.Context, key any, value any, expiration time.Duration) (val bool, err error)
- func (r *Client) Shutdown(ctx context.Context) (val string, err error)
- func (r *Client) ShutdownNoSave(ctx context.Context) (val string, err error)
- func (r *Client) ShutdownSave(ctx context.Context) (val string, err error)
- func (r *Client) SlaveOf(ctx context.Context, host, port string) (val string, err error)
- func (r *Client) SlowLogGet(ctx context.Context, num int64) (val []redis.SlowLog, err error)
- func (r *Client) Sort(ctx context.Context, key any, sort *redis.Sort) (val []string, err error)
- func (r *Client) SortInterfaces(ctx context.Context, key any, sort *redis.Sort) (val []any, err error)
- func (r *Client) SortRO(ctx context.Context, key any, sort *redis.Sort) (val []string, err error)
- func (r *Client) SortStore(ctx context.Context, key, store any, sort *redis.Sort) (val int64, err error)
- func (r *Client) StrLen(ctx context.Context, key any) (val int64, err error)
- func (r *Client) TFCall(ctx context.Context, libName string, funcName string, numKeys int) (val any, err error)
- func (r *Client) TFCallASYNC(ctx context.Context, libName string, funcName string, numKeys int) (val any, err error)
- func (r *Client) TFCallASYNCArgs(ctx context.Context, libName string, funcName string, numKeys int, ...) (val any, err error)
- func (r *Client) TFCallArgs(ctx context.Context, libName string, funcName string, numKeys int, ...) (val any, err error)
- func (r *Client) TFunctionDelete(ctx context.Context, libName string) (val string, err error)
- func (r *Client) TFunctionList(ctx context.Context) (val []map[string]any, err error)
- func (r *Client) TFunctionListArgs(ctx context.Context, options *redis.TFunctionListOptions) (val []map[string]any, err error)
- func (r *Client) TFunctionLoad(ctx context.Context, lib string) (val string, err error)
- func (r *Client) TFunctionLoadArgs(ctx context.Context, lib string, options *redis.TFunctionLoadOptions) (val string, err error)
- func (r *Client) TSAdd(ctx context.Context, key string, timestamp any, value float64) (val int64, err error)
- func (r *Client) TSAddWithArgs(ctx context.Context, key string, timestamp any, value float64, ...) (val int64, err error)
- func (r *Client) TSAlter(ctx context.Context, key string, options *redis.TSAlterOptions) (val string, err error)
- func (r *Client) TSCreate(ctx context.Context, key string) (val string, err error)
- func (r *Client) TSCreateRule(ctx context.Context, sourceKey string, destKey string, ...) (val string, err error)
- func (r *Client) TSCreateRuleWithArgs(ctx context.Context, sourceKey string, destKey string, ...) (val string, err error)
- func (r *Client) TSCreateWithArgs(ctx context.Context, key string, options *redis.TSOptions) (val string, err error)
- func (r *Client) TSDecrBy(ctx context.Context, key string, timestamp float64) (val int64, err error)
- func (r *Client) TSDecrByWithArgs(ctx context.Context, key string, timestamp float64, ...) (val int64, err error)
- func (r *Client) TSDel(ctx context.Context, key string, fromTimestamp int, toTimestamp int) (val int64, err error)
- func (r *Client) TSDeleteRule(ctx context.Context, sourceKey string, destKey string) (val string, err error)
- func (r *Client) TSGet(ctx context.Context, key string) (val redis.TSTimestampValue, err error)
- func (r *Client) TSGetWithArgs(ctx context.Context, key string, options *redis.TSGetOptions) (val redis.TSTimestampValue, err error)
- func (r *Client) TSIncrBy(ctx context.Context, key string, timestamp float64) (val int64, err error)
- func (r *Client) TSIncrByWithArgs(ctx context.Context, key string, timestamp float64, ...) (val int64, err error)
- func (r *Client) TSInfo(ctx context.Context, key string) (val map[string]any, err error)
- func (r *Client) TSInfoWithArgs(ctx context.Context, key string, options *redis.TSInfoOptions) (val map[string]any, err error)
- func (r *Client) TSMAdd(ctx context.Context, ktvSlices [][]any) (val []int64, err error)
- func (r *Client) TSMGet(ctx context.Context, filters []string) (val map[string][]any, err error)
- func (r *Client) TSMGetWithArgs(ctx context.Context, filters []string, options *redis.TSMGetOptions) (val map[string][]any, err error)
- func (r *Client) TSMRange(ctx context.Context, fromTimestamp int, toTimestamp int, filterExpr []string) (val map[string][]any, err error)
- func (r *Client) TSMRangeWithArgs(ctx context.Context, fromTimestamp int, toTimestamp int, filterExpr []string, ...) (val map[string][]any, err error)
- func (r *Client) TSMRevRange(ctx context.Context, fromTimestamp int, toTimestamp int, filterExpr []string) (val map[string][]any, err error)
- func (r *Client) TSMRevRangeWithArgs(ctx context.Context, fromTimestamp int, toTimestamp int, filterExpr []string, ...) (val map[string][]any, err error)
- func (r *Client) TSQueryIndex(ctx context.Context, filterExpr []string) (val []string, err error)
- func (r *Client) TSRange(ctx context.Context, key string, fromTimestamp int, toTimestamp int) (val []redis.TSTimestampValue, err error)
- func (r *Client) TSRangeWithArgs(ctx context.Context, key string, fromTimestamp int, toTimestamp int, ...) (val []redis.TSTimestampValue, err error)
- func (r *Client) TSRevRange(ctx context.Context, key string, fromTimestamp int, toTimestamp int) (val []redis.TSTimestampValue, err error)
- func (r *Client) TSRevRangeWithArgs(ctx context.Context, key string, fromTimestamp int, toTimestamp int, ...) (val []redis.TSTimestampValue, err error)
- func (r *Client) TTL(ctx context.Context, key any) (val time.Duration, err error)
- func (r *Client) Time(ctx context.Context) (val time.Time, err error)
- func (r *Client) Touch(ctx context.Context, keys ...any) (val int64, err error)
- func (r *Client) TxPipeline() (val redis.Pipeliner, err error)
- func (r *Client) TxPipelined(ctx context.Context, fn func(redis.Pipeliner) error) (val []redis.Cmder, err error)
- func (r *Client) Type(ctx context.Context, key any) (val string, err error)
- func (r *Client) Unlink(ctx context.Context, keys ...any) (val int64, err error)
- func (r *Client) XAck(ctx context.Context, stream any, group string, ids ...string) (val int64, err error)
- func (r *Client) XAdd(ctx context.Context, a *redis.XAddArgs) (val string, err error)
- func (r *Client) XAutoClaim(ctx context.Context, a *redis.XAutoClaimArgs) (val []redis.XMessage, start string, err error)
- func (r *Client) XAutoClaimJustID(ctx context.Context, a *redis.XAutoClaimArgs) (val []string, start string, err error)
- func (r *Client) XClaim(ctx context.Context, a *redis.XClaimArgs) (val []redis.XMessage, err error)
- func (r *Client) XClaimJustID(ctx context.Context, a *redis.XClaimArgs) (val []string, err error)
- func (r *Client) XDel(ctx context.Context, stream any, ids ...string) (val int64, err error)
- func (r *Client) XGroupCreate(ctx context.Context, stream any, group, start string) (val string, err error)
- func (r *Client) XGroupCreateMkStream(ctx context.Context, stream any, group, start string) (val string, err error)
- func (r *Client) XGroupDelConsumer(ctx context.Context, stream any, group, consumer string) (val int64, err error)
- func (r *Client) XGroupDestroy(ctx context.Context, stream any, group string) (val int64, err error)
- func (r *Client) XGroupSetID(ctx context.Context, stream any, group, start string) (val string, err error)
- func (r *Client) XInfoConsumers(ctx context.Context, key any, group string) (val []redis.XInfoConsumer, err error)
- func (r *Client) XInfoGroups(ctx context.Context, key any) (val []redis.XInfoGroup, err error)
- func (r *Client) XInfoStream(ctx context.Context, key any) (val *redis.XInfoStream, err error)
- func (r *Client) XInfoStreamFull(ctx context.Context, key any, count int) (val *redis.XInfoStreamFull, err error)
- func (r *Client) XLen(ctx context.Context, stream any) (val int64, err error)
- func (r *Client) XPending(ctx context.Context, stream any, group string) (val *redis.XPending, err error)
- func (r *Client) XPendingExt(ctx context.Context, a *redis.XPendingExtArgs) (val []redis.XPendingExt, err error)
- func (r *Client) XRange(ctx context.Context, stream any, start, stop string) (val []redis.XMessage, err error)
- func (r *Client) XRangeN(ctx context.Context, stream any, start, stop string, count int64) (val []redis.XMessage, err error)
- func (r *Client) XRead(ctx context.Context, a *redis.XReadArgs) (val []redis.XStream, err error)
- func (r *Client) XReadGroup(ctx context.Context, a *redis.XReadGroupArgs) (val []redis.XStream, err error)
- func (r *Client) XReadStreams(ctx context.Context, streams ...any) (val []redis.XStream, err error)
- func (r *Client) XRevRange(ctx context.Context, stream any, start, stop string) (val []redis.XMessage, err error)
- func (r *Client) XRevRangeN(ctx context.Context, stream any, start, stop string, count int64) (val []redis.XMessage, err error)
- func (r *Client) XTrimMaxLen(ctx context.Context, key any, maxLen int64) (val int64, err error)
- func (r *Client) XTrimMaxLenApprox(ctx context.Context, key any, maxLen, limit int64) (val int64, err error)
- func (r *Client) XTrimMinID(ctx context.Context, key any, minID string) (val int64, err error)
- func (r *Client) XTrimMinIDApprox(ctx context.Context, key any, minID string, limit int64) (val int64, err error)
- func (r *Client) ZAdd(ctx context.Context, key any, members ...redis.Z) (val int64, err error)
- func (r *Client) ZAddArgs(ctx context.Context, key any, args redis.ZAddArgs) (val int64, err error)
- func (r *Client) ZAddArgsIncr(ctx context.Context, key any, args redis.ZAddArgs) (val float64, err error)
- func (r *Client) ZAddGT(ctx context.Context, key any, members ...redis.Z) (val int64, err error)
- func (r *Client) ZAddLT(ctx context.Context, key any, members ...redis.Z) (val int64, err error)
- func (r *Client) ZAddNX(ctx context.Context, key any, members ...redis.Z) (val int64, err error)
- func (r *Client) ZAddXX(ctx context.Context, key any, members ...redis.Z) (val int64, err error)
- func (r *Client) ZCard(ctx context.Context, key any) (val int64, err error)
- func (r *Client) ZCount(ctx context.Context, key any, min, max string) (val int64, err error)
- func (r *Client) ZDiff(ctx context.Context, keys ...any) (val []string, err error)
- func (r *Client) ZDiffStore(ctx context.Context, destination any, keys ...any) (val int64, err error)
- func (r *Client) ZDiffWithScores(ctx context.Context, keys ...any) (val []redis.Z, err error)
- func (r *Client) ZIncrBy(ctx context.Context, key any, increment float64, member string) (val float64, err error)
- func (r *Client) ZInter(ctx context.Context, store *redis.ZStore) (val []string, err error)
- func (r *Client) ZInterCard(ctx context.Context, limit int64, keys ...any) (val int64, err error)
- func (r *Client) ZInterStore(ctx context.Context, key any, store *redis.ZStore) (val int64, err error)
- func (r *Client) ZInterWithScores(ctx context.Context, store *redis.ZStore) (val []redis.Z, err error)
- func (r *Client) ZLexCount(ctx context.Context, key any, min, max string) (val int64, err error)
- func (r *Client) ZMPop(ctx context.Context, order string, count int64, keys ...any) (key string, ret []redis.Z, err error)
- func (r *Client) ZMScore(ctx context.Context, key any, members ...string) (val []float64, err error)
- func (r *Client) ZPopMax(ctx context.Context, key any, count ...int64) (val []redis.Z, err error)
- func (r *Client) ZPopMin(ctx context.Context, key any, count ...int64) (val []redis.Z, err error)
- func (r *Client) ZRandMember(ctx context.Context, key any, count int) (val []string, err error)
- func (r *Client) ZRandMemberWithScores(ctx context.Context, key any, count int) (val []redis.Z, err error)
- func (r *Client) ZRange(ctx context.Context, key any, start, stop int64) (val []string, err error)
- func (r *Client) ZRangeArgs(ctx context.Context, z redis.ZRangeArgs) (val []string, err error)
- func (r *Client) ZRangeArgsWithScores(ctx context.Context, z redis.ZRangeArgs) (val []redis.Z, err error)
- func (r *Client) ZRangeByLex(ctx context.Context, key any, opt *redis.ZRangeBy) (val []string, err error)
- func (r *Client) ZRangeByScore(ctx context.Context, key any, opt *redis.ZRangeBy) (val []string, err error)
- func (r *Client) ZRangeByScoreWithScores(ctx context.Context, key any, opt *redis.ZRangeBy) (val []redis.Z, err error)
- func (r *Client) ZRangeStore(ctx context.Context, dst any, z redis.ZRangeArgs) (val int64, err error)
- func (r *Client) ZRangeWithScores(ctx context.Context, key any, start, stop int64) (val []redis.Z, err error)
- func (r *Client) ZRank(ctx context.Context, key any, member string) (val int64, err error)
- func (r *Client) ZRankWithScore(ctx context.Context, key any, member string) (val redis.RankScore, err error)
- func (r *Client) ZRem(ctx context.Context, key any, members ...any) (val int64, err error)
- func (r *Client) ZRemRangeByLex(ctx context.Context, key any, min, max string) (val int64, err error)
- func (r *Client) ZRemRangeByRank(ctx context.Context, key any, start, stop int64) (val int64, err error)
- func (r *Client) ZRemRangeByScore(ctx context.Context, key any, min, max string) (val int64, err error)
- func (r *Client) ZRevRange(ctx context.Context, key any, start, stop int64) (val []string, err error)
- func (r *Client) ZRevRangeByLex(ctx context.Context, key any, opt *redis.ZRangeBy) (val []string, err error)
- func (r *Client) ZRevRangeByScore(ctx context.Context, key any, opt *redis.ZRangeBy) (val []string, err error)
- func (r *Client) ZRevRangeByScoreWithScores(ctx context.Context, key any, opt *redis.ZRangeBy) (val []redis.Z, err error)
- func (r *Client) ZRevRangeWithScores(ctx context.Context, key any, start, stop int64) (val []redis.Z, err error)
- func (r *Client) ZRevRank(ctx context.Context, key any, member string) (val int64, err error)
- func (r *Client) ZRevRankWithScore(ctx context.Context, key any, member string) (val redis.RankScore, err error)
- func (r *Client) ZScan(ctx context.Context, key any, cursorIn uint64, match string, count int64) (val []string, cursor uint64, err error)
- func (r *Client) ZScore(ctx context.Context, key any, member string) (val float64, err error)
- func (r *Client) ZUnion(ctx context.Context, store redis.ZStore) (val []string, err error)
- func (r *Client) ZUnionStore(ctx context.Context, dest any, store *redis.ZStore) (val int64, err error)
- func (r *Client) ZUnionWithScores(ctx context.Context, store redis.ZStore) (val []redis.Z, err error)
- type CmdStart
- type OpenTraceHook
- func (op OpenTraceHook) AfterProcess(ctx context.Context, cmd redis.Cmder) error
- func (op OpenTraceHook) AfterProcessPipeline(ctx context.Context, cmds []redis.Cmder) error
- func (op OpenTraceHook) BeforeProcess(ctx context.Context, cmd redis.Cmder) (context.Context, error)
- func (op OpenTraceHook) BeforeProcessPipeline(ctx context.Context, cmds []redis.Cmder) (context.Context, error)
- func (op OpenTraceHook) DialHook(hook redis.DialHook) redis.DialHook
- func (op OpenTraceHook) ProcessHook(hook redis.ProcessHook) redis.ProcessHook
- func (op OpenTraceHook) ProcessPipelineHook(hook redis.ProcessPipelineHook) redis.ProcessPipelineHook
- type Option
- func WithAddr(Addr string) Option
- func WithAddrs(Addrs map[string]string) Option
- func WithClientType(ClientType string) Option
- func WithDatabase(Database int) Option
- func WithDisableMetric(DisableMetric bool) Option
- func WithDisableTrace(DisableTrace bool) Option
- func WithHosts(Hosts []string) Option
- func WithKeyPrefix(KeyPrefix string) Option
- func WithMasterName(MasterName string) Option
- func WithPassword(Password string) Option
- func WithPoolSize(PoolSize int) Option
- type RWType
- type RedisNode
Constants ¶
const ( // ClientNormal for standard instance client ClientNormal = "normal" // ClientCluster for official redis cluster ClientCluster = "cluster" // FailoverClient for official redis failover ClientFailover = "failover" // RingClient for official redis ring ClientRing = "ring" )
ClientNormal ...
const RequestCmdStart = CmdStart("start")
RequestCmdStart ...
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client struct { ClientType string // 模式(normal => 单节点,cluster => 集群,failover => 哨兵,ring => 分片) // Host address with port number // For normal client will only used the first value // A seed list of host:port addresses of sentinel nodes. Hosts []string // 集群 哨兵 需要填写 // host:port address. Addr string // 单节点客户端 // Map of name => host:port addresses of ring shards. Addrs map[string]string // 分片客户端 shardName => host:port // The master name. MasterName string // The network type, either tcp or unix. // Default is tcp. // Only for normal client Network string // Database to be selected after connecting to the server. Database int // 数据库 // Automatically adds a prefix to all keys KeyPrefix string // 前缀标识 // The maximum number of retries before giving up. Command is retried // on network errors and MOVED/ASK redirects. // Default is 16. // In normal client this is the MaxRetries option MaxRedirects int // Enables read queries for a connection to a Redis Cluster slave node. IsReadOnly bool // Enables routing read-only queries to the closest master or slave node. // If set will change this client to read-only mode RouteByLatency bool // Following options are copied from Options struct. Password string // 密码 // 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. // Default is 3 seconds. ReadTimeout time.Duration // Timeout for socket writes. If reached, commands will fail // with a timeout instead of blocking. // Default is 3 seconds. WriteTimeout time.Duration // PoolSize applies per cluster node and not for the whole cluster. // Maximum number of socket connections. // Default is 10 connections. 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 // Amount of time after which client closes idle connections. // Should be less than server's timeout. // Default is to not close idle connections. IdleTimeout time.Duration // Frequency of idle checks. // Default is 1 minute. // When minus value is set, then idle check is disabled. IdleCheckFrequency time.Duration // TLS Config to use. When set TLS will be negotiated. // Only for normal client TLSConfig *tls.Config DisableMetric bool // 关闭指标采集 DisableTrace bool // 关闭链路追踪 // contains filtered or unexported fields }
Options options to initiate your client
func NewRedisClient ¶ added in v3.4.2
func (*Client) ACLLogReset ¶ added in v3.6.4
func (*Client) Append ¶
Append 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。 如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。
func (*Client) BLPop ¶
func (r *Client) BLPop(ctx context.Context, timeout time.Duration, keys ...any) (val []string, err error)
BLPop 是列表的阻塞式(blocking)弹出原语。 它是 LPop 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被 BLPop 命令阻塞,直到等待超时或发现可弹出元素为止。 当给定多个 key 参数时,按参数 key 的先后顺序依次检查各个列表,弹出第一个非空列表的头元素。
func (*Client) BRPop ¶
func (r *Client) BRPop(ctx context.Context, timeout time.Duration, keys ...any) (val []string, err error)
BRPop 是列表的阻塞式(blocking)弹出原语。 它是 RPOP 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被 BRPOP 命令阻塞,直到等待超时或发现可弹出元素为止。 当给定多个 key 参数时,按参数 key 的先后顺序依次检查各个列表,弹出第一个非空列表的尾部元素。 关于阻塞操作的更多信息,请查看 BLPOP 命令, BRPOP 除了弹出元素的位置和 BLPOP 不同之外,其他表现一致。
func (*Client) BRPopLPush ¶
func (r *Client) BRPopLPush(ctx context.Context, source, destination any, timeout time.Duration) (val string, err error)
BRPopLPush 是 RPOPLPUSH 的阻塞版本,当给定列表 source 不为空时, BRPOPLPUSH 的表现和 RPOPLPUSH 一样。 当列表 source 为空时, BRPOPLPUSH 命令将阻塞连接,直到等待超时,或有另一个客户端对 source 执行 LPUSH 或 RPUSH 命令为止。
func (*Client) BZPopMax ¶
func (r *Client) BZPopMax(ctx context.Context, timeout time.Duration, keys ...any) (val *redis.ZWithKey, err error)
BZPopMax 是有序集合命令 ZPOPMAX带有阻塞功能的版本。
func (*Client) BZPopMin ¶
func (r *Client) BZPopMin(ctx context.Context, timeout time.Duration, keys ...any) (val *redis.ZWithKey, err error)
BZPopMin 是有序集合命令 ZPOPMIN带有阻塞功能的版本。
func (*Client) BgRewriteAOF ¶
BgRewriteAOF 异步重写附加文件
func (*Client) BitCount ¶
func (r *Client) BitCount(ctx context.Context, key any, bitCount *redis.BitCount) (val int64, err error)
BitCount 计算给定字符串中,被设置为 1 的比特位的数量。 一般情况下,给定的整个字符串都会被进行计数,通过指定额外的 start 或 end 参数,可以让计数只在特定的位上进行。 start 和 end 参数的设置和 GETRANGE 命令类似,都可以使用负数值:比如 -1 表示最后一个位,而 -2 表示倒数第二个位,以此类推。 不存在的 key 被当成是空字符串来处理,因此对一个不存在的 key 进行 BITCOUNT 操作,结果为 0 。
func (*Client) BitPos ¶
func (r *Client) BitPos(ctx context.Context, key any, bit int64, pos ...int64) (val int64, err error)
BitPos -> BitCount
func (*Client) BitPosSpan ¶ added in v3.6.12
func (*Client) ClientGetName ¶
ClientGetName returns the name of the connection.
func (*Client) ClientInfo ¶ added in v3.6.1
func (*Client) ClientKill ¶
ClientKill 杀掉客户端的连接
func (*Client) ClientKillByFilter ¶
ClientKillByFilter is new style synx, while the ClientKill is old CLIENT KILL <option> [value] ... <option> [value]
func (*Client) ClientList ¶
ClientList 获取客户端连接列表
func (*Client) ClientPause ¶
ClientPause 停止处理来自客户端的命令一段时间
func (*Client) ClientUnblock ¶ added in v3.2.31
func (*Client) ClientUnblockWithError ¶ added in v3.2.31
func (*Client) ClientUnpause ¶ added in v3.2.31
ClientPause 停止处理来自客户端的命令一段时间
func (*Client) ClusterAddSlots ¶
ClusterAddSlots Assign new hash slots to receiving node
func (*Client) ClusterAddSlotsRange ¶
ClusterAddSlotsRange -> ClusterAddSlots
func (*Client) ClusterCountFailureReports ¶
func (r *Client) ClusterCountFailureReports(ctx context.Context, nodeID string) (val int64, err error)
ClusterCountFailureReports Return the number of failure reports active for a given node
func (*Client) ClusterCountKeysInSlot ¶
ClusterCountKeysInSlot Return the number of local keys in the specified hash slot
func (*Client) ClusterDelSlots ¶
ClusterDelSlots Set hash slots as unbound in receiving node
func (*Client) ClusterDelSlotsRange ¶
ClusterDelSlotsRange -> ClusterDelSlots
func (*Client) ClusterFailover ¶
ClusterFailover Forces a replica to perform a manual failover of its master.
func (*Client) ClusterForget ¶
ClusterForget Remove a node from the nodes table
func (*Client) ClusterGetKeysInSlot ¶
func (r *Client) ClusterGetKeysInSlot(ctx context.Context, slot int, count int) (val []string, err error)
ClusterGetKeysInSlot Return local key names in the specified hash slot
func (*Client) ClusterInfo ¶
ClusterInfo Provides info about Redis Cluster node state
func (*Client) ClusterKeySlot ¶
ClusterKeySlot Returns the hash slot of the specified key
func (*Client) ClusterLinks ¶ added in v3.5.4
func (*Client) ClusterMeet ¶
ClusterMeet Force a node cluster to handshake with another node
func (*Client) ClusterMyShardID ¶ added in v3.6.1
func (*Client) ClusterNodes ¶
ClusterNodes Get Cluster config for the node
func (*Client) ClusterReplicate ¶
ClusterReplicate Reconfigure a node as a replica of the specified master node
func (*Client) ClusterResetHard ¶
ClusterResetHard Reset a Redis Cluster node
func (*Client) ClusterResetSoft ¶
ClusterResetSoft Reset a Redis Cluster node
func (*Client) ClusterSaveConfig ¶
ClusterSaveConfig Forces the node to save cluster state on disk
func (*Client) ClusterShards ¶ added in v3.5.4
func (*Client) ClusterSlaves ¶
ClusterSlaves List replica nodes of the specified master node
func (*Client) ClusterSlots ¶
ClusterSlots 获取集群节点的映射数组
func (*Client) CommandGetKeys ¶ added in v3.5.4
func (*Client) CommandGetKeysAndFlags ¶ added in v3.5.4
func (*Client) CommandList ¶ added in v3.5.4
func (*Client) ConfigResetStat ¶
ConfigResetStat 重置 INFO 命令中的某些统计数据
func (*Client) ConfigRewrite ¶
ConfigRewrite 对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写
func (*Client) Copy ¶ added in v3.2.31
func (r *Client) Copy(ctx context.Context, sourceKey any, destKey any, db int, replace bool) (val int64, err error)
Copy
func (*Client) DebugObject ¶
func (*Client) Decr ¶
Decr 将 key 中储存的数字值减一。 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 本操作的值限制在 64 位(bit)有符号数字表示之内。 关于递增(increment) / 递减(decrement)操作的更多信息,请参见 INCR 命令。 执行 DECR 命令之后 key 的值。
func (*Client) DecrBy ¶
DecrBy 将 key 所储存的值减去减量 decrement 。 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 操作。 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 本操作的值限制在 64 位(bit)有符号数字表示之内。 关于更多递增(increment) / 递减(decrement)操作的更多信息,请参见 INCR 命令。 减去 decrement 之后, key 的值。
func (*Client) Dump ¶
Dump 序列化给定 key ,并返回被序列化的值,使用 RESTORE 命令可以将这个值反序列化为 Redis 键。 如果 key 不存在,那么返回 nil 。 否则,返回序列化之后的值。
func (*Client) Eval ¶
func (r *Client) Eval(ctx context.Context, script string, keys []any, args ...any) (val any, err error)
Eval 执行 Lua 脚本。
func (*Client) EvalRO ¶ added in v3.2.31
func (r *Client) EvalRO(ctx context.Context, script string, keys []any, args ...any) (val any, err error)
EvalRO 执行 Lua 脚本。
func (*Client) EvalSha ¶
func (r *Client) EvalSha(ctx context.Context, sha1 string, keys []any, args ...any) (val any, err error)
EvalSha 执行 Lua 脚本。
func (*Client) EvalShaRO ¶ added in v3.2.31
func (r *Client) EvalShaRO(ctx context.Context, sha1 string, keys []any, args ...any) (val any, err error)
EvalShaRO 执行 Lua 脚本。
func (*Client) Expire ¶
func (r *Client) Expire(ctx context.Context, key any, expiration time.Duration) (val bool, err error)
Expire 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。 设置成功返回 1 。 当 key 不存在或者不能为 key 设置生存时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的生存时间),返回 0 。
func (*Client) ExpireAt ¶
ExpireAt EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置生存时间。 命令用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间
func (*Client) ExpireGT ¶ added in v3.2.31
ExpireGT ExpireGT 的作用和 EXPIRE 类似,都用于为 key 设置生存时间。 命令用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间
func (*Client) ExpireLT ¶ added in v3.2.31
ExpireLT ExpireLT 的作用和 EXPIRE 类似,都用于为 key 设置生存时间。 命令用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间
func (*Client) ExpireNX ¶ added in v3.2.31
ExpireNX ExpireNX 的作用和 EXPIRE 类似,都用于为 key 设置生存时间。 命令用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间
func (*Client) ExpireTime ¶ added in v3.5.4
func (*Client) ExpireXX ¶ added in v3.2.31
ExpireXX ExpireXX 的作用和 EXPIRE 类似,都用于为 key 设置生存时间。 命令用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间
func (*Client) FlushAllAsync ¶
FlushAllAsync 异步删除所有数据库的所有key
func (*Client) FlushDBAsync ¶
FlushDBAsync 异步删除当前数据库的所有key
func (*Client) FunctionDelete ¶ added in v3.5.4
func (*Client) FunctionDump ¶ added in v3.5.4
func (*Client) FunctionFlush ¶ added in v3.5.4
func (*Client) FunctionFlushAsync ¶ added in v3.5.4
func (*Client) FunctionKill ¶ added in v3.5.4
func (*Client) FunctionList ¶ added in v3.5.4
func (*Client) FunctionLoad ¶ added in v3.5.4
func (*Client) FunctionLoadReplace ¶ added in v3.5.4
func (*Client) FunctionRestore ¶ added in v3.5.4
func (*Client) FunctionStats ¶ added in v3.5.4
func (*Client) GeoAdd ¶
func (r *Client) GeoAdd(ctx context.Context, key any, geoLocation ...*redis.GeoLocation) (val int64, err error)
GeoAdd 将指定的地理空间位置(纬度、经度、名称)添加到指定的key中
func (*Client) GeoDist ¶
func (r *Client) GeoDist(ctx context.Context, key any, member1, member2, unit string) (val float64, err error)
GeoDist 返回两个给定位置之间的距离
func (*Client) GeoPos ¶
func (r *Client) GeoPos(ctx context.Context, key any, members ...string) (val []*redis.GeoPos, err error)
GeoPos 从key里返回所有给定位置元素的位置(经度和纬度)
func (*Client) GeoRadius ¶
func (r *Client) GeoRadius(ctx context.Context, key any, longitude, latitude float64, query *redis.GeoRadiusQuery) (val []redis.GeoLocation, err error)
GeoRadius 以给定的经纬度为中心, 找出某一半径内的元素
func (*Client) GeoRadiusByMember ¶
func (r *Client) GeoRadiusByMember(ctx context.Context, key any, member string, query *redis.GeoRadiusQuery) (val []redis.GeoLocation, err error)
GeoRadiusByMember -> GeoRadius
func (*Client) GeoRadiusByMemberStore ¶
func (r *Client) GeoRadiusByMemberStore(ctx context.Context, key any, member string, query *redis.GeoRadiusQuery) (val int64, err error)
GeoRadiusByMemberStore 找出位于指定范围内的元素,中心点是由给定的位置元素决定
func (*Client) GeoRadiusStore ¶
func (r *Client) GeoRadiusStore(ctx context.Context, key any, longitude, latitude float64, query *redis.GeoRadiusQuery) (val int64, err error)
GeoRadiusStore -> GeoRadius
func (*Client) GeoSearchLocation ¶ added in v3.2.31
func (*Client) GeoSearchStore ¶ added in v3.2.31
func (*Client) Get ¶
Get 返回 key 所关联的字符串值。 如果 key 不存在那么返回特殊值 nil 。 假如 key 储存的值不是字符串类型,返回一个错误,因为 GET 只能用于处理字符串值。 当 key 不存在时,返回 nil ,否则,返回 key 的值。 如果 key 不是字符串类型,那么返回一个错误。
func (*Client) GetBit ¶
GetBit 对 key 所储存的字符串值,获取指定偏移量上的位(bit)。 当 offset 比字符串值的长度大,或者 key 不存在时,返回 0 。 字符串值指定偏移量上的位(bit)。
func (*Client) GetClientConfig ¶ added in v3.4.2
func (o *Client) GetClientConfig() *redis.Options
GetClientConfig 获取单节点配置
func (*Client) GetClusterClientConfig ¶ added in v3.4.2
func (o *Client) GetClusterClientConfig() *redis.ClusterOptions
GetClusterClientConfig 获取集群配置
func (*Client) GetFailoverClientConfig ¶ added in v3.4.2
func (o *Client) GetFailoverClientConfig() *redis.FailoverOptions
GetFailoverClient 获取哨兵配置
func (*Client) GetRange ¶
GetRange 返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。 负数偏移量表示从字符串最后开始计数, -1 表示最后一个字符, -2 表示倒数第二个,以此类推。 GETRANGE 通过保证子字符串的值域(range)不超过实际字符串的值域来处理超出范围的值域请求。 返回截取得出的子字符串。
func (*Client) GetRingClientConfig ¶ added in v3.4.2
func (o *Client) GetRingClientConfig() *redis.RingOptions
GetRingClientConfig 获取分片配置
func (*Client) GetSet ¶
GetSet 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。 当 key 存在但不是字符串类型时,返回一个错误。 返回给定 key 的旧值。 当 key 没有旧值时,也即是, key 不存在时,返回 nil 。
func (*Client) HGetAll ¶
HGetAll 返回哈希表 key 中,所有的域和值。 在返回值里,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是哈希表大小的两倍。
func (*Client) HIncrBy ¶
func (r *Client) HIncrBy(ctx context.Context, key any, field string, incr int64) (val int64, err error)
HIncrBy 为哈希表 key 中的域 field 的值加上增量 increment 。 增量也可以为负数,相当于对给定域进行减法操作。 如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。 如果域 field 不存在,那么在执行命令前,域的值被初始化为 0 。 对一个储存字符串值的域 field 执行 HINCRBY 命令将造成一个错误。 本操作的值被限制在 64 位(bit)有符号数字表示之内。
func (*Client) HIncrByFloat ¶
func (r *Client) HIncrByFloat(ctx context.Context, key any, field string, incr float64) (val float64, err error)
HIncrByFloat 为哈希表 key 中的域 field 加上浮点数增量 increment 。 如果哈希表中没有域 field ,那么 HINCRBYFLOAT 会先将域 field 的值设为 0 ,然后再执行加法操作。 如果键 key 不存在,那么 HINCRBYFLOAT 会先创建一个哈希表,再创建域 field ,最后再执行加法操作。
func (*Client) HMGet ¶
HMGet 返回哈希表 key 中,一个或多个给定域的值。 如果给定的域不存在于哈希表,那么返回一个 nil 值。 因为不存在的 key 被当作一个空哈希表来处理,所以对一个不存在的 key 进行 HMGET 操作将返回一个只带有 nil 值的表。
func (*Client) HMSet ¶
HMSet 同时将多个 field-value (域-值)对设置到哈希表 key 中。 此命令会覆盖哈希表中已存在的域。 如果 key 不存在,一个空哈希表被创建并执行 HMSET 操作。
func (*Client) HRandField ¶ added in v3.2.31
func (*Client) HRandFieldWithValues ¶ added in v3.2.31
func (*Client) HScan ¶
func (r *Client) HScan(ctx context.Context, key any, cursorIn uint64, match string, count int64) (val []string, cursor uint64, err error)
HScan 详细信息请参考 SCAN 命令。
func (*Client) HSet ¶
HSet 将哈希表 key 中的域 field 的值设为 value 。 如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。 如果域 field 已经存在于哈希表中,旧值将被覆盖。
func (*Client) HSetNX ¶
func (r *Client) HSetNX(ctx context.Context, key any, field string, value any) (val bool, err error)
HSetNX 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。 若域 field 已经存在,该操作无效。 如果 key 不存在,一个新哈希表被创建并执行 HSETNX 命令。
func (*Client) Incr ¶
Incr 将 key 中储存的数字值增一。 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 本操作的值限制在 64 位(bit)有符号数字表示之内。 执行 INCR 命令之后 key 的值。
func (*Client) IncrBy ¶
IncrBy 将 key 所储存的值加上增量 increment 。 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 本操作的值限制在 64 位(bit)有符号数字表示之内。 关于递增(increment) / 递减(decrement)操作的更多信息,参见 INCR 命令。 加上 increment 之后, key 的值。
func (*Client) IncrByFloat ¶
IncrByFloat 为 key 中所储存的值加上浮点数增量 increment 。 如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设为 0 ,再执行加法操作。 如果命令执行成功,那么 key 的值会被更新为(执行加法之后的)新值,并且新值会以字符串的形式返回给调用者。
func (*Client) LIndex ¶
LIndex 返回列表 key 中,下标为 index 的元素。 下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。 如果 key 不是列表类型,返回一个错误。
func (*Client) LInsert ¶
func (r *Client) LInsert(ctx context.Context, key any, op string, pivot, value any) (val int64, err error)
LInsert 将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。 当 pivot 不存在于列表 key 时,不执行任何操作。 当 key 不存在时, key 被视为空列表,不执行任何操作。 如果 key 不是列表类型,返回一个错误。
func (*Client) LInsertAfter ¶
func (r *Client) LInsertAfter(ctx context.Context, key any, pivot, value any) (val int64, err error)
LInsertAfter 同 LInsert
func (*Client) LInsertBefore ¶
func (r *Client) LInsertBefore(ctx context.Context, key any, pivot, value any) (val int64, err error)
LInsertBefore 同 LInsert
func (*Client) LMPop ¶ added in v3.5.4
func (r *Client) LMPop(ctx context.Context, direction string, count int64, keys ...any) (key string, val []string, err error)
LMPop Pops one or more elements from the first non-empty list key from the list of provided key names. direction: left or right, count: > 0 example: client.LMPop(ctx, "left", 3, "key1", "key2")
func (*Client) LPush ¶
LPush 将一个或多个值 value 插入到列表 key 的表头 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头 如果 key 不存在,一个空列表会被创建并执行 LPush 操作。 当 key 存在但不是列表类型时,返回一个错误。
func (*Client) LPushX ¶
LPushX 将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。 和 LPUSH 命令相反,当 key 不存在时, LPUSHX 命令什么也不做。
func (*Client) LRange ¶
LRange 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。 下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
func (*Client) LSet ¶
LSet 将列表 key 下标为 index 的元素的值设置为 value 。 当 index 参数超出范围,或对一个空列表( key 不存在)进行 LSET 时,返回一个错误。 关于列表下标的更多信息,请参考 LINDEX 命令。
func (*Client) LTrim ¶
LTrim 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。 举个例子,执行命令 LTRIM list 0 2 ,表示只保留列表 list 的前三个元素,其余元素全部删除。 下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。 当 key 不是列表类型时,返回一个错误。
func (*Client) MGet ¶
MGet 返回所有(一个或多个)给定 key 的值。 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。因此,该命令永不失败。 一个包含所有给定 key 的值的列表。
func (*Client) MSetNX ¶
MSetNX 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。 即使只有一个给定 key 已存在, MSETNX 也会拒绝执行所有给定 key 的设置操作。 MSETNX 是原子性的,因此它可以用作设置多个不同 key 表示不同字段(field)的唯一性逻辑对象(unique logic object),所有字段要么全被设置,要么全不被设置。
func (*Client) MemoryUsage ¶
func (*Client) Migrate ¶
func (r *Client) Migrate(ctx context.Context, host, port, key string, db int, timeout time.Duration) (val string, err error)
Migrate 将 key 原子性地从当前实例传送到目标实例的指定数据库上,一旦传送成功, key 保证会出现在目标实例上,而当前实例上的 key 会被删除。
func (*Client) ModuleLoadex ¶ added in v3.6.1
func (*Client) Move ¶
Move 将当前数据库的 key 移动到给定的数据库 db 当中。 如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。
func (*Client) ObjectEncoding ¶
ObjectEncoding 返回给定 key 锁储存的值所使用的内部表示(representation)。
func (*Client) ObjectIdleTime ¶
ObjectIdleTime 返回给定 key 自储存以来的空转时间(idle, 没有被读取也没有被写入),以秒为单位。
func (*Client) ObjectRefCount ¶
ObjectRefCount 返回给定 key 引用所储存的值的次数。此命令主要用于除错。
func (*Client) PExpire ¶
func (r *Client) PExpire(ctx context.Context, key any, expiration time.Duration) (val bool, err error)
PExpire 毫秒为单位设置 key 的生存时间
func (*Client) PExpireAt ¶
PExpireAt 这个命令和 expireat 命令类似,但它以毫秒为单位设置 key 的过期 unix 时间戳,而不是像 expireat 那样,以秒为单位。 如果生存时间设置成功,返回 1 。 当 key 不存在或没办法设置生存时间时,返回 0
func (*Client) PExpireTime ¶ added in v3.5.4
func (*Client) PTTL ¶
PTTL 这个命令类似于 TTL 命令,但它以毫秒为单位返回 key 的剩余生存时间,而不是像 TTL 命令那样,以秒为单位。 当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以毫秒为单位,返回 key 的剩余生存时间。
func (*Client) Persist ¶
Persist 移除给定 key 的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。 当生存时间移除成功时,返回 1 . 如果 key 不存在或 key 没有设置生存时间,返回 0 。
func (*Client) Ping ¶
Ping 使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 。 通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值。 如果连接正常就返回一个 PONG ,否则返回一个连接错误。
func (*Client) Pipelined ¶
func (r *Client) Pipelined(ctx context.Context, fn func(redis.Pipeliner) error) (val []redis.Cmder, err error)
Pipelined 管道
func (*Client) PubSubChannels ¶
PubSubChannels 订阅一个或多个符合给定模式的频道。
func (*Client) PubSubNumPat ¶
PubSubNumPat 用于获取redis订阅或者发布信息的状态
func (*Client) PubSubNumSub ¶
func (*Client) PubSubShardChannels ¶ added in v3.2.31
PubSubShardChannels 订阅一个或多个符合给定模式的频道。
func (*Client) PubSubShardNumSub ¶ added in v3.2.31
func (*Client) RPopLPush ¶
RPopLPush 命令 RPOPLPUSH 在一个原子时间内,执行以下两个动作: 将列表 source 中的最后一个元素(尾元素)弹出,并返回给客户端。 将 source 弹出的元素插入到列表 destination ,作为 destination 列表的的头元素。 举个例子,你有两个列表 source 和 destination , source 列表有元素 a, b, c , destination 列表有元素 x, y, z ,执行 RPOPLPUSH source destination 之后, source 列表包含元素 a, b , destination 列表包含元素 c, x, y, z ,并且元素 c 会被返回给客户端。 如果 source 不存在,值 nil 被返回,并且不执行其他动作。 如果 source 和 destination 相同,则列表中的表尾元素被移动到表头,并返回该元素,可以把这种特殊情况视作列表的旋转(rotation)操作。
func (*Client) RPush ¶
RPush 将一个或多个值 value 插入到列表 key 的表尾(最右边)。 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾:比如对一个空列表 mylist 执行 RPUSH mylist a b c ,得出的结果列表为 a b c ,等同于执行命令 RPUSH mylist a 、 RPUSH mylist b 、 RPUSH mylist c 。 如果 key 不存在,一个空列表会被创建并执行 RPUSH 操作。 当 key 存在但不是列表类型时,返回一个错误。
func (*Client) RPushX ¶
RPushX 将值 value 插入到列表 key 的表尾,当且仅当 key 存在并且是一个列表。 和 RPUSH 命令相反,当 key 不存在时, RPUSHX 命令什么也不做。
func (*Client) Rename ¶
Rename 将 key 改名为 newkey 。 当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。 当 newkey 已经存在时, RENAME 命令将覆盖旧值。
func (*Client) Restore ¶
func (r *Client) Restore(ctx context.Context, key any, ttl time.Duration, value string) (val string, err error)
Restore 反序列化给定的序列化值,并将它和给定的 key 关联。 参数 ttl 以毫秒为单位为 key 设置生存时间;如果 ttl 为 0 ,那么不设置生存时间。 RESTORE 在执行反序列化之前会先对序列化值的 RDB 版本和数据校验和进行检查,如果 RDB 版本不相同或者数据不完整的话,那么 RESTORE 会拒绝进行反序列化,并返回一个错误。
func (*Client) RestoreReplace ¶
func (r *Client) RestoreReplace(ctx context.Context, key any, ttl time.Duration, value string) (val string, err error)
RestoreReplace -> Restore
func (*Client) SAdd ¶
SAdd 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。 假如 key 不存在,则创建一个只包含 member 元素作成员的集合。 当 key 不是集合类型时,返回一个错误。
func (*Client) SDiffStore ¶
func (r *Client) SDiffStore(ctx context.Context, destination any, keys ...any) (val int64, err error)
SDiffStore 这个命令的作用和 SDIFF 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。 如果 destination 集合已经存在,则将其覆盖。 destination 可以是 key 本身。
func (*Client) SInter ¶
SInter 返回一个集合的全部成员,该集合是所有给定集合的交集。 不存在的 key 被视为空集。 当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。
func (*Client) SInterCard ¶ added in v3.2.31
SInterStore 这个命令类似于 SINTER 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。 如果 destination 集合已经存在,则将其覆盖。 destination 可以是 key 本身。
func (*Client) SInterStore ¶
func (r *Client) SInterStore(ctx context.Context, destination any, keys ...any) (val int64, err error)
SInterStore 这个命令类似于 SINTER 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。 如果 destination 集合已经存在,则将其覆盖。 destination 可以是 key 本身。
func (*Client) SMIsMember ¶ added in v3.6.12
func (*Client) SMembersMap ¶
SMembersMap -> SMembers
func (*Client) SMove ¶
func (r *Client) SMove(ctx context.Context, source, destination any, member any) (val bool, err error)
SMove 将 member 元素从 source 集合移动到 destination 集合。 SMOVE 是原子性操作。 如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。 当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除。 当 source 或 destination 不是集合类型时,返回一个错误。
func (*Client) SRandMember ¶
SRandMember 如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。 从 Redis 2.6 版本开始, SRANDMEMBER 命令接受可选的 count 参数: 如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。 如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。 该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,而 SRANDMEMBER 则仅仅返回随机元素,而不对集合进行任何改动。
func (*Client) SRandMemberN ¶
SRandMemberN -> SRandMember
func (*Client) SScan ¶
func (r *Client) SScan(ctx context.Context, key any, cursorIn uint64, match string, count int64) (val []string, cursor uint64, err error)
SScan 详细信息请参考 SCAN 命令。
func (*Client) SUnionStore ¶
func (r *Client) SUnionStore(ctx context.Context, destination any, keys ...any) (val int64, err error)
SUnionStore 这个命令类似于 SUNION 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。 如果 destination 已经存在,则将其覆盖。 destination 可以是 key 本身。
func (*Client) Scan ¶
func (r *Client) Scan(ctx context.Context, cursorIn uint64, match any, count int64) (val []string, cursor uint64, err error)
Scan 命令及其相关的 SSCAN 命令、 HSCAN 命令和 ZSCAN 命令都用于增量地迭代(incrementally iterate)一集元素
func (*Client) ScanIterator ¶ added in v3.5.0
func (r *Client) ScanIterator(ctx context.Context, cursorIn uint64, match any, count int64) (val *redis.ScanIterator, err error)
Scan 命令及其相关的 SSCAN 命令、 HSCAN 命令和 ZSCAN 命令都用于增量地迭代(incrementally iterate)一集元素
func (*Client) ScriptExists ¶
ScriptExists 查看指定的脚本是否已经被保存在缓存当中。
func (*Client) ScriptFlush ¶
ScriptFlush 从脚本缓存中移除所有脚本。
func (*Client) ScriptKill ¶
ScriptKill 杀死当前正在运行的 Lua 脚本。
func (*Client) ScriptLoad ¶
ScriptLoad 将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。
func (*Client) Set ¶
func (r *Client) Set(ctx context.Context, key any, value any, expiration time.Duration) (val string, err error)
Set 将字符串值 value 关联到 key 。 如果 key 已经持有其他值, SET 就覆写旧值,无视类型。 对于某个原本带有生存时间(TTL)的键来说, 当 SET 命令成功在这个键上执行时, 这个键原有的 TTL 将被清除。
func (*Client) SetBit ¶
func (r *Client) SetBit(ctx context.Context, key any, offset int64, value int) (val int64, err error)
SetBit 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。 位的设置或清除取决于 value 参数,可以是 0 也可以是 1 。 当 key 不存在时,自动生成一个新的字符串值。 字符串会进行伸展(grown)以确保它可以将 value 保存在指定的偏移量上。当字符串值进行伸展时,空白位置以 0 填充。 offset 参数必须大于或等于 0 ,小于 2^32 (bit 映射被限制在 512 MB 之内)。
func (*Client) SetEx ¶ added in v3.2.31
func (r *Client) SetEx(ctx context.Context, key any, value any, expiration time.Duration) (val string, err error)
SetEX ...
func (*Client) SetNX ¶
func (r *Client) SetNX(ctx context.Context, key any, value any, expiration time.Duration) (val bool, err error)
SetNX 将 key 的值设为 value ,当且仅当 key 不存在。 若给定的 key 已经存在,则 SETNX 不做任何动作。 SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写。
func (*Client) SetRange ¶
func (r *Client) SetRange(ctx context.Context, key any, offset int64, value string) (val int64, err error)
SetRange 用 value 参数覆写(overwrite)给定 key 所储存的字符串值,从偏移量 offset 开始。 不存在的 key 当作空白字符串处理。
func (*Client) SetXX ¶
func (r *Client) SetXX(ctx context.Context, key any, value any, expiration time.Duration) (val bool, err error)
SetXX -> SetNX
func (*Client) ShutdownNoSave ¶
ShutdownNoSave 不保存数据到硬盘,并关闭服务器
func (*Client) ShutdownSave ¶
ShutdownSave 异步保存数据到硬盘,并关闭服务器
func (*Client) SlowLogGet ¶ added in v3.2.31
func (*Client) SortInterfaces ¶
func (r *Client) SortInterfaces(ctx context.Context, key any, sort *redis.Sort) (val []any, err error)
SortInterfaces -> Sort
func (*Client) SortStore ¶
func (r *Client) SortStore(ctx context.Context, key, store any, sort *redis.Sort) (val int64, err error)
SortStore -> Sort
func (*Client) TFCallASYNC ¶ added in v3.6.12
func (*Client) TFCallASYNCArgs ¶ added in v3.6.12
func (*Client) TFCallArgs ¶ added in v3.6.12
func (*Client) TFunctionDelete ¶ added in v3.6.12
func (*Client) TFunctionList ¶ added in v3.6.12
func (*Client) TFunctionListArgs ¶ added in v3.6.12
func (*Client) TFunctionLoad ¶ added in v3.6.12
func (*Client) TFunctionLoadArgs ¶ added in v3.6.12
func (*Client) TSAddWithArgs ¶ added in v3.6.12
func (*Client) TSCreateRule ¶ added in v3.6.12
func (*Client) TSCreateRuleWithArgs ¶ added in v3.6.12
func (*Client) TSCreateWithArgs ¶ added in v3.6.12
func (*Client) TSDecrByWithArgs ¶ added in v3.6.12
func (*Client) TSDeleteRule ¶ added in v3.6.12
func (*Client) TSGetWithArgs ¶ added in v3.6.12
func (*Client) TSIncrByWithArgs ¶ added in v3.6.12
func (*Client) TSInfoWithArgs ¶ added in v3.6.12
func (*Client) TSMGetWithArgs ¶ added in v3.6.12
func (*Client) TSMRangeWithArgs ¶ added in v3.6.12
func (*Client) TSMRevRange ¶ added in v3.6.12
func (*Client) TSMRevRangeWithArgs ¶ added in v3.6.12
func (*Client) TSQueryIndex ¶ added in v3.6.12
func (*Client) TSRangeWithArgs ¶ added in v3.6.12
func (*Client) TSRevRange ¶ added in v3.6.12
func (*Client) TSRevRangeWithArgs ¶ added in v3.6.12
func (*Client) TTL ¶
TTL 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。 当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。
func (*Client) TxPipeline ¶
TxPipeline 获取管道
func (*Client) TxPipelined ¶
func (r *Client) TxPipelined(ctx context.Context, fn func(redis.Pipeliner) error) (val []redis.Cmder, err error)
TxPipelined 管道
func (*Client) Unlink ¶
Unlink 这个命令非常类似于DEL:它删除指定的键。就像DEL键一样,如果它不存在,它将被忽略。但是,该命令在不同的线程中执行实际的内存回收,所以它不会阻塞,而DEL是。这是命令名称的来源:命令只是将键与键空间断开连接。实际删除将在以后异步发生。
func (*Client) XAck ¶
func (r *Client) XAck(ctx context.Context, stream any, group string, ids ...string) (val int64, err error)
XAck command
func (*Client) XAutoClaim ¶ added in v3.2.31
func (*Client) XAutoClaimJustID ¶ added in v3.2.31
func (*Client) XClaimJustID ¶
XClaimJustID command
func (*Client) XGroupCreate ¶
func (r *Client) XGroupCreate(ctx context.Context, stream any, group, start string) (val string, err error)
XGroupCreate command
func (*Client) XGroupCreateMkStream ¶
func (r *Client) XGroupCreateMkStream(ctx context.Context, stream any, group, start string) (val string, err error)
XGroupCreateMkStream command
func (*Client) XGroupDelConsumer ¶
func (r *Client) XGroupDelConsumer(ctx context.Context, stream any, group, consumer string) (val int64, err error)
XGroupDelConsumer command
func (*Client) XGroupDestroy ¶
func (r *Client) XGroupDestroy(ctx context.Context, stream any, group string) (val int64, err error)
XGroupDestroy command
func (*Client) XGroupSetID ¶
func (r *Client) XGroupSetID(ctx context.Context, stream any, group, start string) (val string, err error)
XGroupSetID command
func (*Client) XInfoConsumers ¶ added in v3.2.31
func (*Client) XInfoGroups ¶
XInfoGroups command
func (*Client) XInfoStream ¶ added in v3.2.31
func (*Client) XInfoStreamFull ¶ added in v3.2.31
func (*Client) XLen ¶
XLen 返回流中的条目数。如果指定的key不存在,则此命令返回0,就好像该流为空。 但是请注意,与其他的Redis类型不同,零长度流是可能的,所以你应该调用TYPE 或者 EXISTS 来检查一个key是否存在。 一旦内部没有任何的条目(例如调用XDEL后),流不会被自动删除,因为可能还存在与其相关联的消费者组。
func (*Client) XPending ¶
func (r *Client) XPending(ctx context.Context, stream any, group string) (val *redis.XPending, err error)
XPending command
func (*Client) XPendingExt ¶
func (r *Client) XPendingExt(ctx context.Context, a *redis.XPendingExtArgs) (val []redis.XPendingExt, err error)
XPendingExt command
func (*Client) XRange ¶
func (r *Client) XRange(ctx context.Context, stream any, start, stop string) (val []redis.XMessage, err error)
XRange 此命令返回流中满足给定ID范围的条目。范围由最小和最大ID指定。所有ID在指定的两个ID之间或与其中一个ID相等(闭合区间)的条目将会被返回。
func (*Client) XRangeN ¶
func (r *Client) XRangeN(ctx context.Context, stream any, start, stop string, count int64) (val []redis.XMessage, err error)
XRangeN -> XRange
func (*Client) XRead ¶
XRead 从一个或者多个流中读取数据,仅返回ID大于调用者报告的最后接收ID的条目。此命令有一个阻塞选项,用于等待可用的项目,类似于BRPOP或者BZPOPMIN等等。
func (*Client) XReadGroup ¶
func (r *Client) XReadGroup(ctx context.Context, a *redis.XReadGroupArgs) (val []redis.XStream, err error)
XReadGroup command
func (*Client) XReadStreams ¶
XReadStreams -> XRead
func (*Client) XRevRange ¶
func (r *Client) XRevRange(ctx context.Context, stream any, start, stop string) (val []redis.XMessage, err error)
XRevRange 此命令与XRANGE完全相同,但显著的区别是以相反的顺序返回条目,并以相反的顺序获取开始-结束参数:在XREVRANGE中,你需要先指定结束ID,再指定开始ID,该命令就会从结束ID侧开始生成两个ID之间(或完全相同)的所有元素。
func (*Client) XRevRangeN ¶
func (r *Client) XRevRangeN(ctx context.Context, stream any, start, stop string, count int64) (val []redis.XMessage, err error)
XRevRangeN -> XRevRange
func (*Client) XTrimMaxLen ¶ added in v3.2.31
func (*Client) XTrimMaxLenApprox ¶ added in v3.2.31
func (*Client) XTrimMinID ¶ added in v3.2.31
func (*Client) XTrimMinIDApprox ¶ added in v3.2.31
func (*Client) ZAdd ¶
ZAdd 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。 如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。 score 值可以是整数值或双精度浮点数。 如果 key 不存在,则创建一个空的有序集并执行 ZADD 操作。 当 key 存在但不是有序集类型时,返回一个错误。
func (*Client) ZAddArgsIncr ¶ added in v3.2.31
func (*Client) ZCount ¶
ZCount 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。 关于参数 min 和 max 的详细使用方法,请参考 ZRANGEBYSCORE 命令。
func (*Client) ZDiffStore ¶ added in v3.2.31
func (*Client) ZDiffWithScores ¶ added in v3.2.31
func (*Client) ZIncrBy ¶
func (r *Client) ZIncrBy(ctx context.Context, key any, increment float64, member string) (val float64, err error)
ZIncrBy 为有序集 key 的成员 member 的 score 值加上增量 increment 。 可以通过传递一个负数值 increment ,让 score 减去相应的值,比如 ZINCRBY key -5 member ,就是让 member 的 score 值减去 5 。 当 key 不存在,或 member 不是 key 的成员时, ZINCRBY key increment member 等同于 ZADD key increment member 。 当 key 不是有序集类型时,返回一个错误。 score 值可以是整数值或双精度浮点数。
func (*Client) ZInter ¶ added in v3.2.31
ZInter 计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination 。 默认情况下,结果集中某个成员的 score 值是所有给定集下该成员 score 值之和. 关于 WEIGHTS 和 AGGREGATE 选项的描述,参见 ZUNIONSTORE 命令。
func (*Client) ZInterCard ¶ added in v3.2.31
func (*Client) ZInterStore ¶
func (r *Client) ZInterStore(ctx context.Context, key any, store *redis.ZStore) (val int64, err error)
ZInterStore 计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination 。 默认情况下,结果集中某个成员的 score 值是所有给定集下该成员 score 值之和. 关于 WEIGHTS 和 AGGREGATE 选项的描述,参见 ZUNIONSTORE 命令。
func (*Client) ZInterWithScores ¶ added in v3.2.31
func (*Client) ZRandMember ¶ added in v3.2.31
func (*Client) ZRandMemberWithScores ¶ added in v3.2.31
func (*Client) ZRangeArgs ¶ added in v3.2.31
func (*Client) ZRangeArgsWithScores ¶ added in v3.2.31
func (*Client) ZRangeByLex ¶
func (r *Client) ZRangeByLex(ctx context.Context, key any, opt *redis.ZRangeBy) (val []string, err error)
ZRangeByLex -> ZRangeByScore
func (*Client) ZRangeByScore ¶
func (r *Client) ZRangeByScore(ctx context.Context, key any, opt *redis.ZRangeBy) (val []string, err error)
ZRangeByScore 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。
func (*Client) ZRangeByScoreWithScores ¶
func (r *Client) ZRangeByScoreWithScores(ctx context.Context, key any, opt *redis.ZRangeBy) (val []redis.Z, err error)
ZRangeByScoreWithScores -> ZRangeByScore
func (*Client) ZRangeStore ¶ added in v3.2.31
func (*Client) ZRangeWithScores ¶
func (r *Client) ZRangeWithScores(ctx context.Context, key any, start, stop int64) (val []redis.Z, err error)
ZRangeWithScores -> ZRange
func (*Client) ZRank ¶
ZRank 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。 排名以 0 为底,也就是说, score 值最小的成员排名为 0 。 使用 ZREVRANK 命令可以获得成员按 score 值递减(从大到小)排列的排名。
func (*Client) ZRankWithScore ¶ added in v3.6.1
func (*Client) ZRemRangeByLex ¶
func (r *Client) ZRemRangeByLex(ctx context.Context, key any, min, max string) (val int64, err error)
ZRemRangeByLex -> ZRemRangeByScore
func (*Client) ZRemRangeByRank ¶
func (r *Client) ZRemRangeByRank(ctx context.Context, key any, start, stop int64) (val int64, err error)
ZRemRangeByRank 移除有序集 key 中,指定排名(rank)区间内的所有成员。 区间分别以下标参数 start 和 stop 指出,包含 start 和 stop 在内。 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。 你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推
func (*Client) ZRemRangeByScore ¶
func (r *Client) ZRemRangeByScore(ctx context.Context, key any, min, max string) (val int64, err error)
ZRemRangeByScore 移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。 自版本2.1.6开始, score 值等于 min 或 max 的成员也可以不包括在内,详情请参见 ZRANGEBYSCORE 命令。
func (*Client) ZRevRange ¶
func (r *Client) ZRevRange(ctx context.Context, key any, start, stop int64) (val []string, err error)
ZRevRange 返回有序集 key 中,指定区间内的成员。 其中成员的位置按 score 值递减(从大到小)来排列。 具有相同 score 值的成员按字典序的逆序(reverse lexicographical order)排列。 除了成员按 score 值递减的次序排列这一点外, ZREVRANGE 命令的其他方面和 ZRANGE 命令一样。
func (*Client) ZRevRangeByLex ¶
func (r *Client) ZRevRangeByLex(ctx context.Context, key any, opt *redis.ZRangeBy) (val []string, err error)
ZRevRangeByLex -> ZRevRangeByScore
func (*Client) ZRevRangeByScore ¶
func (r *Client) ZRevRangeByScore(ctx context.Context, key any, opt *redis.ZRangeBy) (val []string, err error)
ZRevRangeByScore 返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按 score 值递减(从大到小)的次序排列。 具有相同 score 值的成员按字典序的逆序(reverse lexicographical order )排列。 除了成员按 score 值递减的次序排列这一点外, ZREVRANGEBYSCORE 命令的其他方面和 ZRANGEBYSCORE 命令一样。
func (*Client) ZRevRangeByScoreWithScores ¶
func (r *Client) ZRevRangeByScoreWithScores(ctx context.Context, key any, opt *redis.ZRangeBy) (val []redis.Z, err error)
ZRevRangeByScoreWithScores -> ZRevRangeByScore
func (*Client) ZRevRangeWithScores ¶
func (r *Client) ZRevRangeWithScores(ctx context.Context, key any, start, stop int64) (val []redis.Z, err error)
ZRevRangeWithScores -> ZRevRange
func (*Client) ZRevRank ¶
ZRevRank 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)排序。 排名以 0 为底,也就是说, score 值最大的成员排名为 0 。 使用 ZRANK 命令可以获得成员按 score 值递增(从小到大)排列的排名。
func (*Client) ZRevRankWithScore ¶ added in v3.6.1
func (*Client) ZScan ¶
func (r *Client) ZScan(ctx context.Context, key any, cursorIn uint64, match string, count int64) (val []string, cursor uint64, err error)
ZScan 详细信息请参考 SCAN 命令。
func (*Client) ZScore ¶
ZScore 返回有序集 key 中,成员 member 的 score 值。 如果 member 元素不是有序集 key 的成员,或 key 不存在,返回 nil 。
type OpenTraceHook ¶
type OpenTraceHook struct { redis.Hook DisableMetric bool // 关闭指标采集 DisableTrace bool // 关闭链路追踪 DB int Addr string }
OpenTraceHook ...
func (OpenTraceHook) AfterProcess ¶
func (op OpenTraceHook) AfterProcess(ctx context.Context, cmd redis.Cmder) error
AfterProcess ...
func (OpenTraceHook) AfterProcessPipeline ¶
func (op OpenTraceHook) AfterProcessPipeline(ctx context.Context, cmds []redis.Cmder) error
AfterProcessPipeline ...
func (OpenTraceHook) BeforeProcess ¶
func (op OpenTraceHook) BeforeProcess(ctx context.Context, cmd redis.Cmder) (context.Context, error)
BeforeProcess ...
func (OpenTraceHook) BeforeProcessPipeline ¶
func (op OpenTraceHook) BeforeProcessPipeline(ctx context.Context, cmds []redis.Cmder) (context.Context, error)
BeforeProcessPipeline ...
func (OpenTraceHook) DialHook ¶ added in v3.2.33
func (op OpenTraceHook) DialHook(hook redis.DialHook) redis.DialHook
func (OpenTraceHook) ProcessHook ¶ added in v3.2.33
func (op OpenTraceHook) ProcessHook(hook redis.ProcessHook) redis.ProcessHook
func (OpenTraceHook) ProcessPipelineHook ¶ added in v3.2.34
func (op OpenTraceHook) ProcessPipelineHook(hook redis.ProcessPipelineHook) redis.ProcessPipelineHook
type Option ¶ added in v3.4.2
type Option func(r *Client)
func WithClientType ¶ added in v3.4.3
WithClientType customizes the given Redis with given Type.
func WithDatabase ¶ added in v3.4.2
WithDatabase customizes the given Redis with given Database.
func WithDisableMetric ¶ added in v3.4.2
WithDisableMetric customizes the given Redis with given DisableMetric.
func WithDisableTrace ¶ added in v3.4.2
WithDisableTrace customizes the given Redis with given DisableTrace.
func WithKeyPrefix ¶ added in v3.4.2
WithKeyPrefix customizes the given Redis with given KeyPrefix.
func WithMasterName ¶ added in v3.4.2
WithMasterName customizes the given Redis with given MasterName.
func WithPassword ¶ added in v3.4.2
WithPassword customizes the given Redis with given Password.
func WithPoolSize ¶ added in v3.4.2
WithPoolSize customizes the given Redis with given PoolSize.
type RWType ¶
type RWType string
RWType Client Reader and Writer
const ( // OnlyRead serves as a search suffix for configuration parameters OnlyRead RWType = "READER" // OnlyWrite serves as a search suffix for configuration parameters OnlyWrite RWType = "WRITER" // ReadAndWrite serves as a search suffix for configuration parameters ReadAndWrite RWType = "" )
OnlyRead ...
func (*RWType) IsReadOnly ¶
IsReadOnly will return Is it read-only
Source Files ¶
- command.go
- command_cluster.go
- command_gears.go
- command_generic.go
- command_geo.go
- command_hash.go
- command_hyperloglog.go
- command_list.go
- command_osscluster.go
- command_pubsub.go
- command_scripting.go
- command_set.go
- command_sortedset.go
- command_stream.go
- command_string.go
- command_timeseries.go
- command_utils.go
- commant_acl.go
- commant_bitmap.go
- hook.go
- options.go
- redis.go