Documentation
¶
Index ¶
- Constants
- func ToContext(ctx context.Context, client *Client) context.Context
- type Client
- func (c *Client) Close() error
- func (c *Client) Del(ctx context.Context, ns, key string) error
- func (c *Client) Exists(ctx context.Context, ns, key string) error
- func (c *Client) Expire(ctx context.Context, ns, key string, exp time.Duration) error
- func (c *Client) Get(ctx context.Context, ns, key string, value any) error
- func (c *Client) Limit(ctx context.Context, ns, key string, limit redis_rate.Limit) (*redis_rate.Result, error)
- func (c *Client) LimitReport(ctx context.Context, ns, key string, limit redis_rate.Limit) (*redis_rate.Result, error)
- func (c *Client) NewMutex(ns, key string, exp time.Duration) *redsync.Mutex
- func (c *Client) ObtainAtomic(ctx context.Context, ns, key string, exp time.Duration) (*redislock.Lock, error)
- func (c *Client) OpenQueue(name string) (*Queue, error)
- func (c *Client) Set(ctx context.Context, ns, key string, value any, exp time.Duration) error
- type Configs
- type Consumer
- type Delivery
- type Queue
Constants ¶
View Source
const (
Name = "Redis"
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client struct {
Configs
DB *redis.Client
Queue rmq.Connection
Lock *redsync.Redsync
Limiter *redis_rate.Limiter
Atomic *redislock.Client
// contains filtered or unexported fields
}
func FromContext ¶
func (*Client) Limit ¶
func (c *Client) Limit(ctx context.Context, ns, key string, limit redis_rate.Limit) (*redis_rate.Result, error)
func (*Client) LimitReport ¶
func (c *Client) LimitReport(ctx context.Context, ns, key string, limit redis_rate.Limit) (*redis_rate.Result, error)
func (*Client) ObtainAtomic ¶
type Configs ¶
type Configs struct {
RedisAddress string `env:"REDIS_ADDRESS,required"`
RedisUsername string `env:"REDIS_USERNAME"`
RedisPassword string `env:"REDIS_PASSWORD"`
RedisDatabase int `env:"REDIS_DATABASE"`
RedisTLSRequired bool `env:"REDIS_TLS_REQUIRED"`
RedisQueueCleaning time.Duration `env:"REDIS_QUEUE_CLEANING" envDefault:"1m"`
RedisQueuePool int64 `env:"REDIS_QUEUE_POOL" envDefault:"10"`
RedisQueueApp string `env:"REDIS_QUEUE_APP" envDefault:"app"`
}
Click to show internal directories.
Click to hide internal directories.