溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用NestJS+Redis實現(xiàn)緩存

發(fā)布時間:2021-08-24 11:26:19 來源:億速云 閱讀:308 作者:chen 欄目:開發(fā)技術

這篇文章主要介紹“怎么用NestJS+Redis實現(xiàn)緩存”,在日常操作中,相信很多人在怎么用NestJS+Redis實現(xiàn)緩存問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用NestJS+Redis實現(xiàn)緩存”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

NestJS的緩存模塊天生支持Redis等緩存機制。以下通過一個示例,說明如何在NestJS中操作Redis。步驟如下:

先安裝運行Redis服務,步驟參見鏈接

新建nestjs項目:
nest new [項目名稱]

安裝cache相關依賴

npm install cache-manager
npm install -D @types/cache-manager
npm install cache-manager-redis-store --save

注冊Redis Store
打開src->app.module.ts,這里假設已經在本地安裝啟動了Redis服務

import { Module, CacheModule } from '@nestjs/common';
import * as redisStore from 'cache-manager-redis-store';

imports: [
  CacheModule.register({
    store: redisStore,
    host: 'localhost',
    port: 6379,
  }),
],

打開src->app.controller.ts, 使用Redis緩存服務

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',
  };
}

最后,訪問接口,打開Redis客戶端工具RedisNav,驗證結果:

怎么用NestJS+Redis實現(xiàn)緩存

到此,關于“怎么用NestJS+Redis實現(xiàn)緩存”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI