Skip to main content

NewFactory

Initializes a new cache factory that should be used whenever typed caches are created.

def NewFactory(
ctx: context.Context,
c: *Config,
secretManager: SecretManager,
scope: promutils.Scope
) - > Factory, error

Initializes a new cache factory that should be used whenever typed caches are created. This function sets up either an in-memory fixed-size cache or a Redis-backed cache based on the provided configuration.

Parameters

NameTypeDescription
ctxcontext.ContextThe context for the operation, used for managing cancellation and deadlines, particularly when creating a Redis client.
c*ConfigThe configuration object specifying the cache type (in-memory or Redis) and its settings, such as size, expiration, and Redis options.
secretManagerSecretManagerThe secret manager used to retrieve sensitive information, such as Redis connection details, if a Redis cache is configured.
scopepromutils.ScopeThe Prometheus metrics scope used for reporting metrics related to the cache operations, particularly for the Redis client.

Returns

TypeDescription
Factory, errorA new Factory instance configured with the specified cache type, or an error if Redis client creation fails.