NestJS+Redis实现页面级缓存
前一篇文章讲述了NestJS对缓存服务器Redis的支持,用包装(简化)过的接口直接操作Redis。
这里再介绍一下如何通过NestJS实现页面级缓存, 类似asp.net中的output cache。 NestJS真的是拉近了前后端的差距,后端主流框架有的,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中的内容。
分类:
NestJS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具