NestJS的緩存模塊天生支持Redis等緩存機(jī)制。以下通過(guò)一個(gè)示例,說(shuō)明如何在NestJS中操作Redis。步驟如下:
先安裝運(yùn)行Redis服務(wù),步驟參見(jiàn)鏈接
新建nestjs項(xiàng)目:
nest new [項(xiàng)目名稱]
安裝cache相關(guān)依賴
npm install cache-manager
npm install -D @types/cache-manager
npm install cache-manager-redis-store --save
注冊(cè)Redis Store
打開(kāi)src->app.module.ts,這里假設(shè)已經(jīng)在本地安裝啟動(dòng)了Redis服務(wù)
import { Module, CacheModule } from '@nestjs/common';
import * as redisStore from 'cache-manager-redis-store';
imports: [
CacheModule.register({
store: redisStore,
host: 'localhost',
port: 6379,
}),
],
打開(kāi)src->app.controller.ts, 使用Redis緩存服務(wù)
import {
Controller,
Get,
Res,
Req,
Inject,
CACHE_MANAGER,
} from '@nestjs/common';
import { Cache } from 'cache-manager';
fakeString = 'Hello World!';
@Get('cache-test')
async setGetSimpleString() {
const value = await this.cacheManager.get('my-string');
if (value) {
return {
data: value,
loadsFrom: 'redis cache',
};
}
await this.cacheManager.set('my-string', this.fakeString, { ttl: 20 });
return {
data: this.fakeString,
loadsFrom: 'fake database',
};
}
最后,訪問(wèn)接口,打開(kāi)Redis客戶端工具RedisNav,驗(yàn)證結(jié)果:
參考:
https://www.learmoreseekmore.com/2020/12/nestjs-redis-cache.html
到此這篇關(guān)于NestJS+Redis實(shí)現(xiàn)緩存的文章就介紹到這了,更多相關(guān)Redis實(shí)現(xiàn)緩存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 詳解SpringBoot2.0的@Cacheable(Redis)緩存失效時(shí)間解決方案
- Redis 緩存實(shí)現(xiàn)存儲(chǔ)和讀取歷史搜索關(guān)鍵字的操作方法
- SpringCache 分布式緩存的實(shí)現(xiàn)方法(規(guī)避redis解鎖的問(wèn)題)