Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nailyjs/nest-redlock
🔒Redlock module for nest.js
https://github.com/nailyjs/nest-redlock
nest-module nestjs redlock redlock-redis
Last synced: 18 days ago
JSON representation
🔒Redlock module for nest.js
- Host: GitHub
- URL: https://github.com/nailyjs/nest-redlock
- Owner: nailyjs
- Created: 2024-07-05T05:59:13.000Z (6 months ago)
- Default Branch: v1
- Last Pushed: 2024-07-05T06:13:23.000Z (6 months ago)
- Last Synced: 2024-12-24T20:36:11.384Z (21 days ago)
- Topics: nest-module, nestjs, redlock, redlock-redis
- Language: TypeScript
- Homepage:
- Size: 145 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🔒 Redlock module for nest.js
## Install
```bash
pnpm i @nailyjs.nest.modules/redlock
```# Use in your app.module.ts
```ts
import { RedlockModule } from "@nailyjs.nest.modules/redlock";
import { Redis } from "ioredis";
import { Module } from "@nestjs/common";@Module({
imports: [
RedlockModule.forRoot({
clients: [
new Redis({
/* Redis options */
}),
],
options: {
/* Redlock options */
},
}),
],
})
export class AppModule {}
```Also you can use `forRootAsync`:
```ts
import { RedlockModule } from "@nailyjs.nest.modules/redlock";
import { Redis } from "ioredis";
import { Module } from "@nestjs/common";
import { ConfigService } from "@nestjs/config";@Module({
imports: [
RedlockModule.forRootAsync({
inject: [ConfigService],
useFactory(configService) {
return {
clients: [
new Redis({
/* Redis options */
}),
],
options: {
/* Redlock options */
},
};
},
}),
],
})
export class AppModule {}
```> The `useFactory`'s `configService` argument we use some logic, it will infer to `inject`'s instance type to help you write code.
In the business service:
```ts
import { Injectable } from "@nestjs/common";
import { RedlockService } from "@nailyjs.nest.modules/redlock";@Injectable()
export class AppService {
constructor(private readonly redlockService: RedlockService) {}
}
````RedlockService` extended `Redlock` class, so you can directly to call original redlock methods.