redis

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2021 License: MIT Imports: 11 Imported by: 0

README

redis

redis 基础库,开放有限接口,支持日志、opentracing 和 prometheus 监控。

配置

redis 配置,格式为 REDIS_${NAME}_HOST = "host1",通过 ${NAME} 可以获取 redis 连接池。初始连接数使用 REDIS_DEFAULT_INIT_CONNS,最大连接数 REDIS_DEFAULT_MAX_CONNS。

REDIS_XXX_HOST 只能填一个 redis 实例。

高可用架构请使用 envoy 等中间件。

示例

import "context"
import "github.com/busyfree/shorturl-go/util/redis"

ctx := context.Background()
c := redis.Get(ctx, "default")

err := c.Del(ctx, "foo")

Documentation

Index

Constants

View Source
const (
	// FlagNX Not Exist
	FlagNX = redis.FlagNX
)

Variables

View Source
var ErrNonExist = redis.Nil

ErrNonExist 查询的 key 不存在或者榜单中 member 不存在

Functions

func GatherMetrics

func GatherMetrics()

GatherMetrics 连接池状态指标

Types

type Item

type Item redis.Item

Item 值对象

type Redis

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

Redis 客户端对象

func Get

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

Get 获取一个 redis 实例

func (*Redis) DecrBy

func (r *Redis) DecrBy(ctx context.Context, key string, by int64) (i int64, err error)

DecrBy 数值减去

func (*Redis) Del

func (r *Redis) Del(ctx context.Context, keys ...string) error

Del 删除一个或多个缓存

func (*Redis) Eval

func (r *Redis) Eval(ctx context.Context, script string, keys []string, argvs ...interface{}) (*redis.EvalReturn, error)

Eval 执行lua脚本

func (*Redis) Expire

func (r *Redis) Expire(ctx context.Context, key string, ttl int32) error

Expire 设置过期时间 ttl 表示: ttl 秒后 key 失效

func (*Redis) Get

func (r *Redis) Get(ctx context.Context, key string) (item *Item, err error)

Get 查询单个缓存

func (*Redis) IncrBy

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

IncrBy 数值增加

func (*Redis) MGet

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

MGet 批量查询缓存

func (*Redis) Set

func (r *Redis) Set(ctx context.Context, item *Item) error

Set 设置单个缓存

func (*Redis) TTL

func (r *Redis) TTL(ctx context.Context, key string) (ttl int32, err error)

TTL 以秒为单位,返回给定 key 的剩余生存时间

func (*Redis) ZAdd

func (r *Redis) ZAdd(ctx context.Context, item *Item) (added int64, err error)

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

func (*Redis) ZCard

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

ZCard 返回有序集 key 的基数

func (*Redis) ZCount

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

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

func (*Redis) ZIncrBy

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

ZIncrBy 为有序集 key 的成员 member 的 score 值加上增量 by

func (*Redis) ZRange

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

ZRange 返回有序集 key 中,指定区间内的成员 其中成员的位置按 score 值递增(从小到大)来排序 具有相同 score 值的成员按字典序(lexicographical order)来排列

func (*Redis) ZRank

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

ZRank 返回有序集 key 中成员 member 的排名 其中有序集成员按 score 值递增(从小到大)顺序排列 排名以 0 为底,也就是说, score 值最小的成员排名为 0

func (*Redis) ZRem

func (r *Redis) ZRem(ctx context.Context, keys ...string) error

ZRem 移除有序集 key 中的一个或多个成员

func (*Redis) ZRemRangeByRank

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

ZRemRangeByRank 移除有序集 key 中,指定排名(rank)区间内的所有成员 移除排名在 [start, stop] 区间的成员,返回被移除的成员的数量

func (*Redis) ZRemRangeByScore

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

ZRemRangeByScore 移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max)的成员

func (*Redis) ZRevRange

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

ZRevRange 返回有序集 key 中,指定区间内的成员 其中成员的位置按 score 值递减(从大到小)来排列 具有相同 score 值的成员按字典序的逆序(reverse lexicographical order)排列。

func (*Redis) ZRevRank

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

ZRevRank 返回有序集 key 中成员 member 的排名 其中有序集成员按 score 值递减(从大到小)排序

func (*Redis) ZScore

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

ZScore 返回有序集 key 中,成员 member 的 score 值

type ZSetValue

type ZSetValue redis.ZSetValue

ZSetValue 有序集合对象

Jump to

Keyboard shortcuts

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