nest 集成 redis

发布时间:2024年01月19日

1.准备工作

安装redis

npm install ioredis

? pnpm install --save nestjs-redis ioredis
? pnpm install --save @nestjsplus/redis

这个命令nest g res redis创建redis需要用的

之后再appmoudlue加入

?providers: [

? ? AppService,

? ? {

? ? ? provide: 'REDIS_CLIENT',

? ? ? async useFactory() {

? ? ? ? const client = createClient({

? ? ? ? ? socket: {

? ? ? ? ? ? host: 'localhost',

? ? ? ? ? ? port: 6379,

? ? ? ? ? },

? ? ? ? });

? ? ? ? await client.connect();

? ? ? ? return client;

? ? ? },

? ? },

? ],

?
? 安装cache相关依赖
? pnpm install cache-manager
? ? pnpm install -d @types/cache-manager
? ? ? ? pnpm install cache-manager-redis-store --save

2.配置 Redis 连接

// redis.module.ts import { Module } from '@nestjs/common'; import { RedisService } from './redis.service'; import { RedisController } from './redis.controller'; @Module({ providers: [RedisService], // 注册 RedisService 作为提供者 exports: [RedisService], // 导出 RedisService controllers: [RedisController], }) export class RedisModule {}

3.创建 Redis 服务

// redis.service.ts import { Injectable } from '@nestjs/common'; import Redis from 'ioredis'; @Injectable() export class RedisService { private readonly redisClient: Redis; constructor() { this.redisClient = new Redis({ host: 'localhost', // Redis 服务器的主机名 port: 6379, // Redis 服务器的端口 }); } setValue(key: string, value: string){ return this.redisClient.set(key, value); } getValue(key: string) { return this.redisClient.get(key); } }

4.使用 Redis 服务

// redis.controller.ts import { Controller, Get, Param } from '@nestjs/common'; import { RedisService } from './redis.service'; @Controller('redis') export class RedisController { constructor(private readonly redisService: RedisService) {} @Get('set/:key/:value') async setKey(@Param('key') key: string, @Param('value') value: string){ return await this.redisService.setValue(key, value); } @Get('get/:key') async getValue(@Param('key') key: string) { return await this.redisService.getValue(key); } }

5.请求接口

http://localhost:3001/redis/set/sss/1234

随意设置

sss是key? ?

value是1234

也可以get?

http://localhost:3001/redis/get/sss

会得到1234

6.下载一个resp?可任意看到你的key? value

否则返回ok

记得点赞哈 新手制作? 希望能帮到你

记得必须打开redis服务器?

cmd正方形的

文章来源:https://blog.csdn.net/m0_74772114/article/details/135704224
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。