在 Nest js 中,我添加了 Redis 作为缓存管理器。并且在调用set函数后在Redis中找不到任何添加的数据。那么,我错过了什么吗?

编程入门 行业动态 更新时间:2024-10-03 21:30:35

在 Nest js 中,我添加了 Redis 作为缓存<a href=https://www.elefans.com/category/jswz/34/1771330.html style=管理器。并且在调用set函数后在Redis中找不到任何添加的数据。那么,我错过了什么吗?"/>

在 Nest js 中,我添加了 Redis 作为缓存管理器。并且在调用set函数后在Redis中找不到任何添加的数据。那么,我错过了什么吗?

节点版本:v14.15.4 Nest-js 版本:9.0.0

应用程序.module.ts 这是代码。 在应用程序模块中,我将 Redis 注册为缓存管理器。

@Module({
  imports: [
    CacheModule.register({
      isGlobal: true,
      store: redisStore,
      url: process.env.REDIS_URL,
    })
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

服务.ts 缓存数据方法用于存储带有键的数据。 -> 问题是设置函数不保存任何东西

并获取Data,用于按键返回数据。

@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);
      }
}




它不会在运行时抛出任何错误。

回答如下:

i 遇到了和你一样的问题,解决这个问题的方法是使用安装命令将 cache-manager-redis-store 的版本更改为 2.0.0,如'npm i [email protected]. 0'

完成这一步后,可以找到redisStore的使用,然后就可以链接数据库了。

更多推荐

在 Nest js 中,我添加了 Redis 作为缓存管理器。并且在调用set函数后在Redis中找不到任何添加的数据。那么,我错过了什么吗?

本文发布于:2024-05-30 23:55:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1771061.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:管理器   缓存   中找   函数   数据

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!