@tresdoce-nestjs-toolkit/redis v1.0.3
Este módulo está pensado para ser utilizado en NestJS Starter, o cualquier proyecto que utilice una configuración centralizada, siguiendo la misma arquitectura del starter.
Glosario
- 🥳 Demo
- 📝 Requerimientos básicos
- 🛠️ Instalar dependencia
- ⚙️ Configuración
- 👨💻 Uso
- 📄 Changelog
- 📜 License MIT
📝 Requerimientos básicos
- NestJS Starter
- Node.js v18.17.0 or higher (Download)
- YARN v1.22.18 or higher
- NPM v9.6.7 or higher
- NestJS v10.3.0 or higher (Documentación)
- Redis 5.0 or higher
🛠️ Instalar dependencia
npm install -S @tresdoce-nestjs-toolkit/redis
yarn add @tresdoce-nestjs-toolkit/redis
⚙️ Configuración
Agregar los datos de conexión a la Redis en configuration.ts
utilizando el key redis
y que contenga el
objeto con los datos conexión desde las variables de entorno.
//./src/config/configuration.ts
import { Typings } from '@tresdoce-nestjs-toolkit/core';
import { registerAs } from '@nestjs/config';
export default registerAs('config', (): Typings.AppConfig => {
return {
//...
redis: {
name: encodeURIComponent(process.env.REDIS_NAME),
host: encodeURIComponent(process.env.REDIS_HOST),
port: parseInt(process.env.REDIS_PORT, 10) || 6379,
username: encodeURIComponent(process.env.REDIS_USERNAME),
password: encodeURIComponent(process.env.REDIS_PASSWORD),
},
//...
};
});
name
: Es el nombre de la Redis.
- Type:
String
- Required:
false
protocol
: Es el protocolo de conexión de la Redis.
- Type:
String
- Required:
false
- Default:
redis
- Values:
redis | rediss
host
: Es el servidor para conectarse a la Redis.
- Type:
String
- Required:
true
- Values:
localhost | 127.0.0.1 | <host>
port
: Es el puerto para conectarse a la Redis.
- Type:
Number
- Required:
true
- Default:
6379
username
: Es el nombre de usuario para conectarse a la Redis.
- Type:
String
- Required:
false
- Default:
default
password
: Es la contraseña de usuario para conectarse a la Redis.
- Type:
String
- Required:
false
database
: Es la base de datos de la Redis.
- Type:
number
- Required:
false
- Default:
0
Para más información sobre los parámetros de conexión, puedes consultar en el Client Configuration de Redis.
👨💻 Uso
Importar el RedisModule
en el archivo app.module.ts
, y el módulo se encargará de obtener la configuración
y realizar la connexion automáticamente.
//./src/app.module.ts
import { RedisModule } from '@tresdoce-nestjs-toolkit/redis';
@Module({
//...
imports: [
//...
RedisModule,
//...
],
//...
})
export class AppModule {}
Luego inyecte el RedisService
en su clase para poder interactuar con el cliente de Redis.
import { Injectable } from '@nestjs/common';
import { RedisService } from '@tresdoce-nestjs-toolkit/redis';
@Injectable()
export class CatService {
constructor(private readonly redisService: RedisService) {}
async redisEcho() {
return await this.redisService.echo('Hello world!');
}
//...
}
Comandos
Si bien Redis tiene una gran cantidad de comandos, este módulo solo tiene habilitado los
comandos más utilizados al momento de desarrollar una aplicación, pero de todas formas, puedes inyectar
el REDIS_CLIENT
en vez del servicio e interactuar con todos los comandos.
Echo
Retorna una cadena de texto que le envies.
await this.redisService.echo('Hello world!');
Exists
Retorna un Boolean
si el key
existe en la Redis.
await this.redisService.exists('myKey');
Set
Guarda en la Redis un value
asociado a una key
, y tiene como parámetro opcional el tiempo de expiración en segundos.
await this.redisService.set('myKey', 'my value');
await this.redisService.set('myKey', { key: 'value' });
await this.redisService.set('myKey', 'my value', 10);
Get
Retorna el value
de la key
guardado en la Redis.
await this.redisService.get('myKey');
Del
Elimina el value
y key
guardado en la Redis.
await this.redisService.del('myKey');
Copy
Copia el value
de una key
y guarda en la Redis con el nuevo nombre.
await this.redisService.copy('myKey', 'myKeyCopy');
Rename
Renombra una key
en la Redis con el nuevo nombre.
await this.redisService.rename('myKeyCopy', 'myKey2');
FlushAll
Elimina todos los datos guardados en la Redis.
await this.redisService.flushAll();
📄 Changelog
Todos los cambios notables de este paquete se documentarán en el archivo Changelog.
4 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
8 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago