* 须要装置的包版本

@chenjm/nestjs-redis

* 新增module

import { Module } from "@nestjs/common";import redisconfig from "../constant/redis";import { RedisModule } from "@chenjm/nestjs-redis";import { RedisService } from "./redis.service";console.log("==================your redis config is=====================")console.log(redisconfig)@Module({    imports: [        RedisModule.forRoot({            closeClient: true,            readyLog: true,            config: {                url: `redis://redis:${redisconfig.pass}@${redisconfig.host}:${redisconfig.port}/${redisconfig.db}`,            }        })    ],    providers: [RedisService],    exports: [RedisService]})export class Redismodel { }

在以上代码中,如果redis设置了对于的名称,则须要将//后的redis替换为本人的redis名称。
因为很多文档都年旧失修,然而对应的包版本又更新了很多版本,所以必须得看源码能力晓得正确的应用办法,这一点也是十分重要的!

* 新增一个service办法

import { Injectable } from "@nestjs/common";import { RedisService as redis } from '@chenjm/nestjs-redis';@Injectable()export class RedisService {    client: any    constructor(Redisservice: redis) {        this.client = Redisservice.getClient()    }    async get(key: any) {        return await this.client.get(key)    }}

你能够在此办法中实现redis原生的其余办法(set reset),以后demo中只展现了get。

* 将Redismodel import 到其余module中应用

import { Redismodel } from '@lib/common/db/redis.module';import { PassportModule } from '@nestjs/passport';@Module({  imports: [    PassportModule,    Redismodel  ]})export class AuthModule { }

比方以后demo中的我想在auth中应用redis,所以首先引入。而后在auth模块的对应service去应用。

import { RedisService } from '@lib/common/db/redis.service';export class Auth { constructor(private redisservice: RedisService) {  }    async testgetdata(){        return await this.redisservice.get('testkey')    }}