Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Client = submodule.MakeModifiable[*RedisClient](func(self submodule.Self, config RedisConfig, logger *slog.Logger) (*RedisClient, error) { logger.Debug("parsing config", "config object", config) opts, e := redis.ParseURL(config.Url) if e != nil { logger.Error("invalid configuration form", "config", config, slog.Any("error", e)) return nil, e } client := redis.NewClient(opts) logger.Debug("trying to connect to redis", "url", config.Url) e = client.Ping(context.TODO()).Err() if e != nil { logger.Error("failed to ping redis server, is it connected?", slog.Any("error", e), "url", config.Url) return nil, e } self.Scope.AppendMiddleware(submodule.WithScopeEnd(func() error { logger.Info("closing redis client") return client.Close() })) return client, nil }, defaultRedisConfigMod, mlogger.CreateLogger("redis"))
Functions ¶
func AlterConfig ¶
func AlterConfig(c func(*RedisConfig))
Types ¶
type RedisClient ¶
type RedisClient = redis.Client
type RedisConfig ¶
type RedisConfig struct {
Url string
}
type RedisOptions ¶
type RedisOptions = redis.Options
Click to show internal directories.
Click to hide internal directories.