@nestjs-redis/health-indicator
Version:
A comprehensive Redis health indicator for NestJS applications using the Terminus health check library
123 lines (94 loc) • 3.54 kB
Markdown
<div align="center">
<img src="https://raw.githubusercontent.com/CSenshi/nestjs-redis/main/docs/images/logo.png" alt="NestJS Redis Toolkit Logo" width="200" height="200">
# -redis/health-indicator
Redis health indicator for NestJS with first-class Terminus integration.
[](https://www.npmjs.com/package/@nestjs-redis/health-indicator)
[](https://www.npmjs.com/package/@nestjs-redis/health-indicator)
[](https://opensource.org/licenses/MIT)
[](https://www.typescriptlang.org/)
[](https://nestjs.com/) [](https://redis.io/)
</div>
---
## Features
- Plug-and-play Terminus health checks
- Works with existing ` -redis/client` connections
- Supports multiple Redis instances
- Type-safe, production-ready
## Installation
### Recommended: Install the complete toolkit
```bash
npm install -redis/kit redis
```
### Alternative: Install health-indicator package only
```bash
npm install -redis/health-indicator redis
```
## Quick Start
```typescript
// app.module.ts
import { Module } from '@nestjs/common';
import { TerminusModule } from '@nestjs/terminus';
import { RedisModule } from '@nestjs-redis/client';
import { RedisHealthIndicator } from '@nestjs-redis/health-indicator';
export class AppModule {}
```
```typescript
// health.controller.ts
import { Controller, Get } from '@nestjs/common';
import { HealthCheck, HealthCheckService } from '@nestjs/terminus';
import { InjectRedis, type Redis } from '@nestjs-redis/client';
import { RedisHealthIndicator } from '@nestjs-redis/health-indicator';
export class HealthController {
constructor(
private readonly health: HealthCheckService,
private readonly redis: RedisHealthIndicator,
private readonly redisClient: Redis,
) {}
check() {
return this.health.check([
() => this.redis.isHealthy('redis', { client: this.redisClient }),
]);
}
}
```
### Multiple Instances
```typescript
export class HealthController {
constructor(
private readonly health: HealthCheckService,
private readonly redis: RedisHealthIndicator,
private readonly mainRedis: Redis,
private readonly cacheRedis: Redis,
) {}
check() {
return this.health.check([
() => this.redis.isHealthy('redis-main', { client: this.mainRedis }),
() => this.redis.isHealthy('redis-cache', { client: this.cacheRedis }),
]);
}
}
```
## Links
- Root repo: [CSenshi/nestjs-redis](https://github.com/CSenshi/nestjs-redis)
- Issues: [GitHub Issues](https://github.com/CSenshi/nestjs-redis/issues)
- Discussions: [GitHub Discussions](https://github.com/CSenshi/nestjs-redis/discussions)
## Contributing
Please see the [root contributing guidelines](https://github.com/CSenshi/nestjs-redis#contributing).
## License
MIT © [CSenshi](https://github.com/CSenshi)