fxredis

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2024 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

View Source
var FxRedisModule = fx.Module(
	ModuleName,
	fx.Provide(
		NewFxRedisClient,
	),
)

FxRedis is the Fx redis module.

Functions

func NewFxRedisClient

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

NewFxRedisClient returns a redis.Client.

Types

type FxRedisClientParam

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

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

Jump to

Keyboard shortcuts

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