fxredis

package module
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2025 License: MIT Imports: 4 Imported by: 0

README

Fx Redis Module

ci go report codecov Deps PkgGoDev

Fx module for Redis.

Overview

This module provides to your Fx application a redis.Client, that you can inject anywhere to interact with Redis.

Installation

Install the module:

go get github.com/ankorstore/yokai-contrib/fxredis

Then activate them in your application bootstrapper:

// internal/bootstrap.go
package internal

import (
	"github.com/ankorstore/yokai-contrib/fxredis"
	"github.com/ankorstore/yokai/fxcore"
)

var Bootstrapper = fxcore.NewBootstrapper().WithOptions(
	// load modules
	fxredis.FxRedisModule,
	// ...
)

Configuration

Configuration reference:

# ./configs/config.yaml
app:
  name: app
  env: dev
  version: 0.1.0
  debug: true
modules:
  redis:
    dsn: redis://${REDIS_USER}:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}/${REDIS_DB}

Testing

In test mode, an additional redismock.ClientMock is provided.

See example.

Documentation

Index

Constants

View Source
const ModuleName = "redis"

ModuleName is the module name.

Variables

FxRedis is the Fx redis module.

Functions

func NewFxRedisClient

func NewFxRedisClient(p FxRedisClientParam) (*redis.Client, redismock.ClientMock, error)

NewFxRedisClient returns a redis.Client and a redismock.ClientMock in test mode.

Types

type DefaultRedisClientFactory added in v1.1.0

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

func NewDefaultRedisClientFactory added in v1.1.0

func NewDefaultRedisClientFactory(config *config.Config) *DefaultRedisClientFactory

func (*DefaultRedisClientFactory) Create added in v1.1.0

func (f *DefaultRedisClientFactory) Create() (*redis.Client, error)

type FxRedisClientParam

type FxRedisClientParam struct {
	fx.In
	LifeCycle fx.Lifecycle
	Config    *config.Config
	Factory   RedisClientFactory
}

FxRedisClientParam allows injection of the required dependencies in [NewRedisClient].

type RedisClientFactory added in v1.1.0

type RedisClientFactory interface {
	Create() (*redis.Client, error)
}

Jump to

Keyboard shortcuts

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