阅读 120

NestJS+Redis实现页面级缓存

讲述了NestJS对缓存服务器Redis的支持,用包装(简化)过的接口直接操作Redis。
这里再介绍一下如何通过NestJS实现页面级缓存。

基于上一篇的示例代码,做如下修改
src -> app.module.ts 此处注入缓存拦截器

import { Module, CacheModule, CacheInterceptor } from ‘@nestjs/common‘;
import { APP_INTERCEPTOR } from ‘@nestjs/core‘;

providers: [
  {
    provide: APP_INTERCEPTOR,
    useClass: CacheInterceptor,
  },
  ViewService,
],

src -> app.controller.ts 在对应的控制器上使用缓存

import {
  Controller,
  Get,
  Res,
  Req,
  Inject,
  CACHE_MANAGER,
  UseInterceptors,
  CacheInterceptor,
  CacheKey,
  CacheTTL,
} from ‘@nestjs/common‘;

@UseInterceptors(CacheInterceptor)
export class AppController {
  /*此处省略其它代码*/

  @Get(‘api-cache‘)
  @CacheKey(‘api-cache-demo‘)
  @CacheTTL(30)
  public getByCache() {
    console.log(‘call api at ‘, Date.now());
    return ‘Hello world!‘;
  }
}

访问该接口(api-cache),会看到返回的响应结果被存储在Redis中,并且在TTL到期前都会返回Redis中的内容。

原文:https://www.cnblogs.com/Andy1982/p/15179745.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐