redis

package
v0.0.0-...-b804f52 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2023 License: MulanPSL-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//ClusterMode using clusterClient
	ClusterMode string = "cluster"
	//StubMode using redisClient
	StubMode string = "stub"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// Addrs 实例配置地址
	Addrs []string
	// Mode Redis模式 cluster|stub
	Mode string
	// Password 密码
	Password string
	// DB,默认为0, 一般应用不推荐使用DB分片
	DB int
	// PoolSize 集群内每个节点的最大连接池限制 默认每个CPU10个连接
	PoolSize int
	// MaxRetries 网络相关的错误最大重试次数 默认8次
	MaxRetries int
	// MinIdleConns 最小空闲连接数
	MinIdleConns int
	// DialTimeout 拨超时时间
	DialTimeout time.Duration
	// ReadTimeout 读超时 默认3s
	ReadTimeout time.Duration
	// WriteTimeout 读超时 默认3s
	WriteTimeout time.Duration
	// IdleTimeout 连接最大空闲时间,默认60s, 超过该时间,连接会被主动关闭
	IdleTimeout time.Duration
	// Debug开关
	Debug bool
	// ReadOnly 集群模式 在从属节点上启用读模式
	ReadOnly bool
	// 慢日志门限值,超过该门限值的请求,将被记录到慢日志中
	SlowThreshold time.Duration
}

Config for redis, contains RedisStubConfig and RedisClusterConfig

func DefaultRedisConfig

func DefaultRedisConfig() *Config

DefaultRedisConfig default config ...

type Redis

type Redis struct {
	Config *Config
	Client redis.Cmdable
}

Redis client

func Build

func Build(name string) *Redis

func (*Redis) Close

func (r *Redis) Close() (err 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 (*Redis) Cluster

func (r *Redis) Cluster() *redis.ClusterClient

Cluster try to get a redis.ClusterClient

func (*Redis) Decr

func (r *Redis) Decr(ctx context.Context, key string) bool

Decr redis自减

func (*Redis) Del

func (r *Redis) Del(ctx context.Context, key ...string) int64

Del redis删除

func (*Redis) DelWithErr

func (r *Redis) DelWithErr(ctx context.Context, key string) (int64, error)

DelWithErr ...

func (*Redis) Exists

func (r *Redis) Exists(ctx context.Context, key string) bool

Exists 键是否存在

func (*Redis) ExistsWithErr

func (r *Redis) ExistsWithErr(ctx context.Context, key string) (bool, error)

ExistsWithErr ...

func (*Redis) Expire

func (r *Redis) Expire(ctx context.Context, key string, expiration time.Duration) (bool, error)

Expire 设置过期时间

func (*Redis) GeoAdd

func (r *Redis) GeoAdd(ctx context.Context, key string, location *redis.GeoLocation) (int64, error)

GeoAdd 写入地理位置

func (*Redis) GeoRadius

func (r *Redis) GeoRadius(ctx context.Context, key string, longitude, latitude float64, query *redis.GeoRadiusQuery) ([]redis.GeoLocation, error)

GeoRadius 根据经纬度查询列表

func (*Redis) Get

func (r *Redis) Get(ctx context.Context, key string) string

Get 从redis获取string

func (*Redis) GetRaw

func (r *Redis) GetRaw(ctx context.Context, key string) ([]byte, error)

GetRaw ...

func (*Redis) HDel

func (r *Redis) HDel(ctx context.Context, key string, field ...string) bool

HDel ...

func (*Redis) HGet

func (r *Redis) HGet(ctx context.Context, key string, fields string) (string, error)

HGet 从redis获取hash单个值

func (*Redis) HGetAll

func (r *Redis) HGetAll(ctx context.Context, key string) map[string]string

HGetAll 从redis获取hash的所有键值对

func (*Redis) HIncrBy

func (r *Redis) HIncrBy(ctx context.Context, key string, field string, incr int) int64

HIncrBy 哈希field自增

func (*Redis) HIncrByWithErr

func (r *Redis) HIncrByWithErr(ctx context.Context, key string, field string, incr int) (int64, error)

HIncrByWithErr 哈希field自增并且返回错误

func (*Redis) HKeys

func (r *Redis) HKeys(ctx context.Context, key string) []string

HKeys 获取hash的所有域

func (*Redis) HLen

func (r *Redis) HLen(ctx context.Context, key string) int64

HLen 获取hash的长度

func (*Redis) HMGet

func (r *Redis) HMGet(ctx context.Context, key string, fields []string) []string

HMGet 批量获取hash值

func (*Redis) HMGetMap

func (r *Redis) HMGetMap(ctx context.Context, key string, fields []string) map[string]string

HMGetMap 批量获取hash值,返回map

func (*Redis) HSet

func (r *Redis) HSet(ctx context.Context, key string, value ...interface{}) bool

HSet accepts values in following formats:

  • HSet("myhash", "key1", "value1", "key2", "value2")
  • HSet("myhash", []string{"key1", "value1", "key2", "value2"})
  • HSet("myhash", map[string]interface{}{"key1": "value1", "key2": "value2"})

Note that it requires Redis v4 for multiple field/value pairs support.

func (*Redis) Incr

func (r *Redis) Incr(ctx context.Context, key string) bool

Incr redis自增

func (*Redis) IncrBy

func (r *Redis) IncrBy(ctx context.Context, key string, increment int64) (int64, error)

IncrBy 将 key 所储存的值加上增量 increment 。

func (*Redis) IncrWithErr

func (r *Redis) IncrWithErr(ctx context.Context, key string) (int64, error)

IncrWithErr ...

func (*Redis) LIndex

func (r *Redis) LIndex(ctx context.Context, key string, idx int64) (string, error)

LIndex ...

func (*Redis) LLen

func (r *Redis) LLen(ctx context.Context, key string) int64

LLen ...

func (*Redis) LLenWithErr

func (r *Redis) LLenWithErr(ctx context.Context, key string) (int64, error)

LLenWithErr ...

func (*Redis) LPush

func (r *Redis) LPush(ctx context.Context, key string, values ...interface{}) (int64, error)

LPush 将一个或多个值 value 插入到列表 key 的表头

func (*Redis) LRange

func (r *Redis) LRange(ctx context.Context, key string, start, stop int64) ([]string, error)

LRange 获取列表指定范围内的元素

func (*Redis) LRem

func (r *Redis) LRem(ctx context.Context, key string, count int64, value interface{}) int64

LRem ...

func (*Redis) LTrim

func (r *Redis) LTrim(ctx context.Context, key string, start, stop int64) (string, error)

LTrim ...

func (*Redis) MGet

func (r *Redis) MGet(ctx context.Context, keys ...string) ([]string, error)

MGet ...

func (*Redis) MGets

func (r *Redis) MGets(ctx context.Context, keys []string) ([]interface{}, error)

MGets ...

func (*Redis) RPop

func (r *Redis) RPop(ctx context.Context, key string) (string, error)

RPop 移除并返回列表 key 的尾元素。

func (*Redis) RPush

func (r *Redis) RPush(ctx context.Context, key string, values ...interface{}) (int64, error)

RPush 将一个或多个值 value 插入到列表 key 的表尾(最右边)。

func (*Redis) SAdd

func (r *Redis) SAdd(ctx context.Context, key string, member ...interface{}) (int64, error)

SAdd 向set中添加成员

func (*Redis) SIsMember

func (r *Redis) SIsMember(ctx context.Context, key string, member interface{}) (bool, error)

SIsMember ...

func (*Redis) SMembers

func (r *Redis) SMembers(ctx context.Context, key string) ([]string, error)

SMembers 返回set的全部成员

func (*Redis) Set

func (r *Redis) Set(ctx context.Context, key string, value interface{}, expire time.Duration) bool

Set 设置redis的string

func (*Redis) SetNx

func (r *Redis) SetNx(ctx context.Context, key string, value interface{}, expiration time.Duration) bool

SetNx 设置redis的string 如果键已存在

func (*Redis) SetNxWithErr

func (r *Redis) SetNxWithErr(ctx context.Context, key string, value interface{}, expiration time.Duration) (bool, error)

SetNxWithErr 设置redis的string 如果键已存在

func (*Redis) SetWithErr

func (r *Redis) SetWithErr(ctx context.Context, key string, value interface{}, expire time.Duration) error

SetWithErr ...

func (*Redis) Stub

func (r *Redis) Stub() *redis.Client

Stub try to get a redis.Client

func (*Redis) TTL

func (r *Redis) TTL(ctx context.Context, key string) (int64, error)

TTL 查询过期时间

func (*Redis) Type

func (r *Redis) Type(ctx context.Context, key string) (string, error)

Type ...

func (*Redis) ZAdd

func (r *Redis) ZAdd(ctx context.Context, key string, members ...*redis.Z) (int64, error)

ZAdd 将一个或多个 member 元素及其 score 值加入到有序集 key 当中

func (*Redis) ZCard

func (r *Redis) ZCard(ctx context.Context, key string) (int64, error)

ZCard 获取有序集合的基数

func (*Redis) ZCount

func (r *Redis) ZCount(ctx context.Context, key string, min, max string) (int64, error)

ZCount 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。

func (*Redis) ZRange

func (r *Redis) ZRange(ctx context.Context, key string, start, stop int64) ([]string, error)

ZRange ...

func (*Redis) ZRem

func (r *Redis) ZRem(ctx context.Context, key string, members ...interface{}) (int64, error)

ZRem 移除变量

func (*Redis) ZRemRangeByRank

func (r *Redis) ZRemRangeByRank(ctx context.Context, key string, start, stop int64) (int64, error)

ZRemRangeByRank 移除有序集合中给定的排名区间的所有成员

func (*Redis) ZRevRange

func (r *Redis) ZRevRange(ctx context.Context, key string, start, stop int64) ([]string, error)

ZRevRange 倒序获取有序集合的部分数据

func (*Redis) ZRevRangeByScore

func (r *Redis) ZRevRangeByScore(ctx context.Context, key string, opt *redis.ZRangeBy) ([]string, error)

ZRevRangeByScore ...

func (*Redis) ZRevRangeByScoreWithScores

func (r *Redis) ZRevRangeByScoreWithScores(ctx context.Context, key string, opt *redis.ZRangeBy) ([]redis.Z, error)

ZRevRangeByScoreWithScores ...

func (*Redis) ZRevRangeWithScores

func (r *Redis) ZRevRangeWithScores(ctx context.Context, key string, start, stop int64) ([]redis.Z, error)

ZRevRangeWithScores ...

func (*Redis) ZRevRank

func (r *Redis) ZRevRank(ctx context.Context, key string, member string) (int64, error)

ZRevRank ...

func (*Redis) ZScore

func (r *Redis) ZScore(ctx context.Context, key string, member string) (float64, error)

ZScore 获取有序集合成员 member 的 score 值

type WrapLogger

type WrapLogger struct{}

func (*WrapLogger) Printf

func (l *WrapLogger) Printf(_ context.Context, format string, v ...interface{})

Jump to

Keyboard shortcuts

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