请问在 NestJS 中怎么使用 Redis Stream
时间: 2024-03-28 17:42:17 浏览: 24
要在 NestJS 中使用 Redis Stream,需要先安装 `redis` 和 `ioredis` 这两个 npm 包。然后,你可以使用 `@nestjs/microservices` 包中提供的 `RedisClient` 类来创建 Redis 客户端连接。
接下来,你需要使用 `ioredis` 包中的 `xadd` 方法来向 Redis Stream 中添加数据。示例代码如下:
```
import { Injectable } from '@nestjs/common';
import { RedisClient } from '@nestjs/microservices';
import Redis from 'ioredis';
@Injectable()
export class RedisStreamService {
private readonly redisClient: Redis.Redis;
constructor(private readonly redis: RedisClient) {
this.redisClient = this.redis.createClient();
}
async addToStream(streamName: string, data: Record<string, unknown>): Promise<string> {
const result = await this.redisClient.xadd(streamName, '*', data);
return result;
}
}
```
在上面的示例代码中,我们创建了一个 `RedisStreamService` 类,其中的 `addToStream` 方法使用 `xadd` 方法将数据添加到指定的 Redis Stream 中。
在你的 NestJS 应用程序中,你可以注入 `RedisStreamService` 类,并使用 `addToStream` 方法将数据添加到 Redis Stream 中。