Kind: Interface
Source: packages/microservices/interfaces/microservice-configuration.interface.ts
Part of: Microservices
RedisOptions configures a NestJS microservice that uses the Redis transport layer. It combines Redis connection settings from IORedisOptions with Nest-specific retry, wildcard subscription, serialization, and deserialization behavior.
Properties
| Property | Type |
|---|---|
transport | Transport.REDIS |
options | { host?: string; port?: number; retryAttempts?: number; retryDelay?: number; wildcards?: boolean; serializer?: Serializer; deserializer?: Deserializer; } & IORedisOptions |
Diagram
mermaidgraph LR App[Application Bootstrap] --> Config[RedisOptions] Config --> Transport[transport: Transport.REDIS] Config --> Connection[IORedis Connection Options] Config --> Retry[Retry Configuration] Config --> Serialization[Serializer / Deserializer] Config --> Wildcards[Wildcard Subscriptions] Connection --> Redis[(Redis Server)] Transport --> Redis
Usage
tsimport { Transport } from '@nestjs/microservices';
import type { RedisOptions } from '@nestjs/microservices';
const redisMicroserviceOptions: RedisOptions = {
transport: Transport.REDIS,
options: {
host: 'localhost',
port: 6379,
retryAttempts: 5,
retryDelay: 3000,
wildcards: true,
// Any additional ioredis options are also supported.
password: process.env.REDIS_PASSWORD,
db: 0,
},
};
// Example:
// app.connectMicroservice(redisMicroserviceOptions);
AI Coding Instructions
- Always set
transporttoTransport.REDIS; this interface is only valid for Redis-based microservices. - Place Redis connection settings such as
host,port,password,db, and TLS configuration insideoptions. - Use
retryAttemptsandretryDelayto control Nest microservice reconnection behavior; ensure retry values match deployment reliability requirements. - Enable
wildcardsonly when message patterns require wildcard Redis channel subscriptions. - Provide compatible
serializeranddeserializerimplementations when using custom message payload formats.
Was this page helpful?