chore(): Caching improvements (#13660)

* chore(): Caching improvements

* Create proud-windows-sleep.md

* naming

* fix tests

* address feedback
This commit is contained in:
Adrien de Peretti
2025-10-03 10:05:44 +02:00
committed by GitHub
parent 1789f3e257
commit d58462c9c9
7 changed files with 333 additions and 57 deletions
@@ -49,21 +49,29 @@ export default async ({
const strategy = DefaultCacheStrategy // Re enable custom strategy another time
container.register("strategy", asValue(strategy))
// MemoryCachingProvider - default provider
container.register({
[CachingProviderRegistrationPrefix + MemoryCachingProvider.identifier]:
asFunction(() => new MemoryCachingProvider(), {
lifetime: Lifetime.SINGLETON,
}),
})
container.registerAdd(
CachingIdentifiersRegistrationName,
asValue(MemoryCachingProvider.identifier)
)
container.register(
CachingDefaultProvider,
asValue(MemoryCachingProvider.identifier)
)
const inMemoryOptions = options?.in_memory ?? {}
const { enable: isInMemoryEnabled, ...restInmemoryOptions } = inMemoryOptions
if (isInMemoryEnabled) {
// MemoryCachingProvider - default provider
container.register({
[CachingProviderRegistrationPrefix + MemoryCachingProvider.identifier]:
asFunction(
(cradle) => new MemoryCachingProvider(cradle, restInmemoryOptions),
{
lifetime: Lifetime.SINGLETON,
}
),
})
container.registerAdd(
CachingIdentifiersRegistrationName,
asValue(MemoryCachingProvider.identifier)
)
container.register(
CachingDefaultProvider,
asValue(MemoryCachingProvider.identifier)
)
}
// Load other providers
await moduleProviderLoader({
@@ -85,10 +93,16 @@ export default async ({
const logger = container.resolve(ContainerRegistrationKeys.LOGGER)
if (!hasDefaultProvider) {
logger.warn(
`[caching-module]: No default caching provider defined. Using "${container.resolve(
CachingDefaultProvider
)}" as default.`
)
if (isInMemoryEnabled) {
logger.warn(
`[caching-module]: No default caching provider defined. Using "${container.resolve(
CachingDefaultProvider
)}" as default.`
)
} else {
throw new Error(
"[caching-module]: No providers have been configured and the built in memory cache has not been enabled."
)
}
}
}