nest-cache-manager
TypeScript icon, indicating that this package has built-in type declarations

1.2.4 • Public • Published

NestJS Redis Caching Manager

This package provides a simple and effective way to cache responses in your NestJS applications using Redis. It includes a Redis service and a custom @Cache decorator that can be applied to controller methods for caching their responses.

Installation

First, you need to install the package:

npm install nest-cache-manager

Usage

Setting Up Redis Service

Import the RedisService from the package and use it in your module.

import { RedisService } from 'nest-cache-manager';

@Module({
  providers: [RedisService],
  exports: [RedisService],
})
export class YourModule {}

Using the Cache Decorator

The @Cache decorator can be applied to controller methods to cache their responses. It accepts a CacheOptions object as an argument. The CacheOptions object has the following properties: Here's a basic example:

import { Cache } from 'nest-cache-manager';
import { Controller, Get } from '@nestjs/common';

@Controller('items')
export class ItemsController {
  constructor(private readonly itemsService: ItemsService) {}

  @Get()
  @Cache('itemsList', 3600) // Cache key: 'itemsList', TTL: 3600 seconds
  async findAll() {
    // Your logic here
    return this.itemsService.findAll();
  }
}

In this example, the findAll method's response is cached for 1 hour (3600 seconds). If the same request is made within this period, the response will be served from the cache.

Cache Variables for .env

REDIS_PORT=6379
REDIS_HOST=localhost

Custom TTL and Cache Keys

@Cache('customKey', 1200) // TTL set to 1200 seconds

Example Usage in NestJS

See the project in example directory for a working example.

Author

Package Sidebar

Install

npm i nest-cache-manager

Weekly Downloads

5

Version

1.2.4

License

ISC

Unpacked Size

516 kB

Total Files

32

Last publish

Collaborators

  • otifsolutions