节点版本:v14.15.4 Nest-js版本:9.0.0
Ts这里是代码。在应用程序模块中,我将Redis注册为缓存管理器。
@Module({
imports: [
CacheModule.register({
isGlobal: true,
store: redisStore,
url: process.env.REDIS_URL,
})
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
服务.ts缓存数据方法用于存储带有键的数据。->问题是set函数没有保存任何内容
并获取按键返回数据的数据。
@Injectable()
export class SomeService {
constructor(@Inject(CACHE_MANAGER) private cacheManager: Cache) {}
async cacheData(key: string, data): Promise<void> {
await this.cacheManager.set(key, data);
}
async getData(key: string, data): Promise<any> {
return this.cacheManager.get(key);
}
}
它在运行时不会抛出任何错误。
1条答案
按热度按时间11dmarpk1#
我不确定为什么您的getData函数返回
Promise<void>
您是否尝试过返回Promise<any>
或您期望的数据类型,例如Promise<string>
。您也可以尝试添加await
。您确定您正在成功连接到Redis吗?您是否尝试添加密码和TLS(真/假)配置?