Nestjs Cache_Manager ist ein Anbieter + Importfehler
Posted: 09 Mar 2025, 12:17
Ich versuche also, das Caching in meinem NestJs -Projekt mit Redis als Geschäft zu verwenden, aber ich habe viele Probleme mit Implementierungsfehlern.
Ich importiere dies in meine app.module.ts Einfach als MyCachemodule . verfügbar ist. Ich habe Mycachemodule in die ItemModule -Importe hinzugefügt und erhalten immer noch den gleichen Fehler.>
Code: Select all
import { Module } from '@nestjs/common'
import { CacheModule } from '@nestjs/cache-manager'
import { ConfigModule, ConfigService } from '@nestjs/config'
import * as redisStore from 'cache-manager-redis-store'
@Module({
imports: [
CacheModule.registerAsync({
imports: [ConfigModule],
useFactory: async (configService: ConfigService) => ({
isGlobal: true,
store: redisStore,
host: configService.get('cache.host') || 'localhost',
port: configService.get('cache.port') || 6379,
ttl: 60,
}),
inject: [ConfigService],
}),
],
})
export class MyCacheModule {}
Code: Select all
import { CACHE_MANAGER } from '@nestjs/cache-manager'
import { Inject, Injectable } from '@nestjs/common'
import { Cache } from 'cache-manager'
@Injectable()
export class ItemService {
constructor(@Inject(CACHE_MANAGER) private readonly _cache: Cache) {}
async getItem(id: string) {
const cachedUser = await this._cache.get(`item_${id}`)
if (cachedUser) {
return cachedUser
}
const item = {
id: 50,
name: 'item',
} /**This would be a database call */
await this._cache.set(`item_${id}`, item, 60) // Cache for 60 seconds
return item
}
}
< /code>
Dies ist ein einfacher Dienst, in dem ich versuche, Cache zu verwenden. Das Problem, auf das ich immer wieder lasse, ist jedoch sicher, dass das Argument "Cache_Manager" bei Index [0] im ItemModule Context