redis

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package redis provides Redis service for gorp framework. This file defines Prometheus metrics hook for Redis client monitoring. Includes command count, duration, and connection count metrics.

Redis 包提供 Redis 服务,用于 gorp 框架。 本文件定义用于 Redis 客户端监控的 Prometheus 指标 hook。 包括命令次数、耗时和连接数指标。

Package redis provides Redis service for gorp framework. Supports connection configuration, basic operations (Get/Set/Del/MGet). Includes Prometheus metrics hook for monitoring.

Redis 包提供 Redis 服务,用于 gorp 框架。 支持连接配置、基本操作(Get/Set/Del/MGet)。 包含 Prometheus 指标 hook 用于监控。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Provider

type Provider struct{}

Provider registers Redis service. Core logic: Read redis config, create client with metrics hook, bind to container.

Provider 注册 Redis 服务。 核心逻辑:读取 redis 配置、创建带指标 hook 的客户端、绑定到容器。

func NewProvider

func NewProvider() *Provider

NewProvider creates a new Redis provider.

NewProvider 创建新的 Redis provider。

func (*Provider) Boot

Boot initializes the Redis provider. No additional startup logic required.

Boot 初始化 Redis provider。 无需额外启动逻辑。

func (*Provider) DependsOn

func (p *Provider) DependsOn() []string

DependsOn returns the keys this provider depends on. Redis provider depends on Config for connection configuration.

DependsOn 返回该 provider 依赖的 key。 Redis provider 依赖 Config 获取连接配置。

func (*Provider) IsDefer

func (p *Provider) IsDefer() bool

IsDefer indicates Redis provider should not defer loading. Redis may be needed early for caching/session.

IsDefer 表示 Redis provider 不应延迟加载。 Redis 可能早期就被用于缓存/session。

func (*Provider) Name

func (p *Provider) Name() string

Name returns provider name for identification.

Name 返回 provider 名称,用于标识。

func (*Provider) Provides

func (p *Provider) Provides() []string

Provides returns the capability keys this provider exposes. Exposes RedisKey for Redis service.

Provides 返回 provider 暴露的能力键。 暴露 RedisKey 用于 Redis 服务。

func (*Provider) Register

func (p *Provider) Register(c runtimecontract.Container) error

Register binds the Redis factory to the container. Core logic: Read config, create Redis client with metrics hook, bind service.

Register 将 Redis 工厂绑定到容器。 核心逻辑:读取配置、创建带指标 hook 的 Redis client、绑定服务。

type RedisMetricsHook

type RedisMetricsHook struct{}

RedisMetricsHook 为 Redis 客户端添加指标收集 hook。

中文说明: - 通过 go-redis 的 Hook 接口拦截每次命令执行; - 记录命令执行次数和耗时; - 区分成功和失败的命令(status 标签); - 用于监控 Redis 性能和识别慢命令。

func NewRedisMetricsHook

func NewRedisMetricsHook() *RedisMetricsHook

NewRedisMetricsHook 创建 Redis 指标收集 hook。

func (*RedisMetricsHook) DialHook

func (h *RedisMetricsHook) DialHook(next redis.DialHook) redis.DialHook

DialHook 实现 redis.Hook 接口,在连接建立时记录指标。

func (*RedisMetricsHook) ProcessHook

func (h *RedisMetricsHook) ProcessHook(next redis.ProcessHook) redis.ProcessHook

ProcessHook 实现 redis.Hook 接口,在命令执行前后记录指标。

func (*RedisMetricsHook) ProcessPipelineHook

ProcessPipelineHook 实现 redis.Hook 接口,处理 pipeline 命令。

Jump to

Keyboard shortcuts

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