0.1.0 • Published 3 years ago

nest-api-cache v0.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

一、关于本包

这个包借助了redis的缓存机制,借用Nestjs的自定义装饰器,我们在需要走redis缓存的接口上加上自定义装饰器,然后在Nestjs中的拦截器中对数据进行处理,如果该接口需要走redis缓存就会先判断redis缓存中是否已经存在数据,如果存在就直接返回,没有redis缓存就继续走到控制器,然后对数据库IO操作。针对于访问频繁的接口,可以加上这个装饰器,减少数据库IO操作,从而提高接口响应速度,在使用本包的前提是要有redis

二、使用方式

  • 安装依赖包

    npm install nest-api-cache
  • app.module.ts中导入模块

    import { NestApiCacheModule} from 'nest-api-cache';
    
    @Module({
      imports: [
        // 参数可选,第一个参数是redis的连接参数
        NestApiCacheModule.forRoot({ redisConfig: {}, redisEXSecond:10}),
      ]
    })
  • 在需要走redis的接口上加上自定义装饰器

    import { NestCacheApi } from 'nest-api-cache';
    ...
    @ApiOperation({
      summary: '查询角色列表', 
      description: '查询角色', 
      externalDocs: {
        url: 'xx?pageSize=10&pageNumber=1&name=x&status=0'
      }
    })
    @ApiCreatedResponse({
      type: RoleResDto,
      isArray: true,
      description: '分页查询角色返回值'
    })
    @HttpCode(HttpStatus.OK)
    // 加上这个自定义装饰器,可以告知拦截器这个接口要走缓存,
    // 如果需要设置缓存时间可以手动加入过期时间@NestCacheApi(2 * 60) 设置2分钟
    // 不传递过期时间,系统默认以1分钟过期
    @NestCacheApi()
    @Get()
    async roleList(
      @Query() roleReqDto: RoleReqDto,
    ): Promise<RoleListResDtoDto> {
      return await this.roleService.roleList(roleReqDto);
    }
0.1.0

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago