{"_id":"@codylabs/nestjs-redis","_rev":"9-6ee4c734d3b07dcd3d1cc45bebb51a03","name":"@codylabs/nestjs-redis","dist-tags":{"latest":"0.1.0"},"versions":{"0.0.1":{"name":"@codylabs/nestjs-redis","version":"0.0.1","author":{"name":"Cody Nguyen"},"license":"MIT","_id":"@codylabs/nestjs-redis@0.0.1","maintainers":[{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"}],"dist":{"shasum":"e0509170e64d8c69d7ce4f4897d1f1131c38be0b","tarball":"https://registry.npmjs.org/@codylabs/nestjs-redis/-/nestjs-redis-0.0.1.tgz","fileCount":38,"integrity":"sha512-UZ0nZzAGGqkBMqmbb79fKTAm6QS0G6NYBqzYPDPhsIRXkj9z6oTjbS5ojsbbIqYHxTpSMmxTp45KU/wj1SAPYQ==","signatures":[{"sig":"MEQCIAShIrtReLvtI9kNXKJkmXey9Nk6+nTRR09kIw14bnBDAiBdHbs5tgUpU8Tbw5Wz8hAm2A1E5DsZzTH58H1Es1OtoA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":309677},"main":"./dist/index.js","_from":"file:codylabs-nestjs-redis-0.0.1.tgz","types":"./dist/index.d.ts","scripts":{"test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","clean":"rm -rf .turbo node_modules dist","test:watch":"jest --watch"},"_npmUser":{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"},"_resolved":"/private/var/folders/0k/nvltwwn96g1fl0_3lkl2v01r0000gn/T/82f18932936656eac91e2a5728b60466/codylabs-nestjs-redis-0.0.1.tgz","_integrity":"sha512-UZ0nZzAGGqkBMqmbb79fKTAm6QS0G6NYBqzYPDPhsIRXkj9z6oTjbS5ojsbbIqYHxTpSMmxTp45KU/wj1SAPYQ==","_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@codylabs/helper-fns":"0.0.1","@codylabs/typescript-configs":"0.0.5"},"peerDependencies":{"redis":"^4.7.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-redis_0.0.1_1732553994474_0.9554365966178728","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@codylabs/nestjs-redis","version":"0.0.2","author":{"name":"Cody Nguyen"},"license":"MIT","_id":"@codylabs/nestjs-redis@0.0.2","maintainers":[{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"}],"dist":{"shasum":"f700544b38fbaa504100e1475858bd24712c95f2","tarball":"https://registry.npmjs.org/@codylabs/nestjs-redis/-/nestjs-redis-0.0.2.tgz","fileCount":39,"integrity":"sha512-g2pbSxeek27YPap6DGJSmaaNM36+0ZP8AqOssZTsMHglrnZtcaL5G4+VshmBfTWN1OYElYnsDJbSbkYG4JrFvQ==","signatures":[{"sig":"MEQCIFrUoyphGYQzWyH6eClS6wbCOj/vH8K2fcXAi12iRPlAAiAGtULjFFO86mFdQuvWRpECew1BKERfYTGc8od5spbjnA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":311934},"main":"./dist/index.js","_from":"file:codylabs-nestjs-redis-0.0.2.tgz","types":"./dist/index.d.ts","scripts":{"test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","clean":"rm -rf .turbo node_modules dist","test:watch":"jest --watch"},"_npmUser":{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"},"_resolved":"/private/var/folders/0k/nvltwwn96g1fl0_3lkl2v01r0000gn/T/22668c619376e14e97bae0576309cf9b/codylabs-nestjs-redis-0.0.2.tgz","_integrity":"sha512-g2pbSxeek27YPap6DGJSmaaNM36+0ZP8AqOssZTsMHglrnZtcaL5G4+VshmBfTWN1OYElYnsDJbSbkYG4JrFvQ==","_npmVersion":"10.9.0","description":"Redis (using node-redis) module for NestJS","directories":{},"_nodeVersion":"22.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@codylabs/typescript-configs":"0.0.6"},"peerDependencies":{"redis":"^4.7.0","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-redis_0.0.2_1732590297563_0.9354701941809633","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@codylabs/nestjs-redis","version":"0.0.3","author":{"name":"Cody Nguyen"},"license":"MIT","_id":"@codylabs/nestjs-redis@0.0.3","maintainers":[{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"}],"dist":{"shasum":"bc5e1f11a8a8c4828dab003c82f4ad5041b4a8ee","tarball":"https://registry.npmjs.org/@codylabs/nestjs-redis/-/nestjs-redis-0.0.3.tgz","fileCount":42,"integrity":"sha512-/xpL73bSzMofi2LvkHf9NM7Ozz/tj2w/xEMvhFHwHNdPrwh3tfgMOBc5cqomtaWxFe9N4lgkHO7bf4RJGZpqDQ==","signatures":[{"sig":"MEQCIHhRMYAF3yjmxRAs3rZq8P907DmGTTAHplLJ00TzFIDfAiAO0B747pynPsgEbpHSflInqlJqx4RheOpYXFpbbSNSrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318380},"main":"./dist/index.js","_from":"file:codylabs-nestjs-redis-0.0.3.tgz","types":"./dist/index.d.ts","scripts":{"test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","clean":"rm -rf .turbo node_modules dist","test:watch":"jest --watch"},"_npmUser":{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"},"_resolved":"/private/var/folders/wv/mjqybr5958sgj92d81_68wsh0000gn/T/062c32b6ef2d153acecea8bb2d8a4dd0/codylabs-nestjs-redis-0.0.3.tgz","_integrity":"sha512-/xpL73bSzMofi2LvkHf9NM7Ozz/tj2w/xEMvhFHwHNdPrwh3tfgMOBc5cqomtaWxFe9N4lgkHO7bf4RJGZpqDQ==","_npmVersion":"10.9.2","description":"Redis (using node-redis) module for NestJS","directories":{},"_nodeVersion":"22.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@codylabs/typescript-configs":"0.0.7"},"peerDependencies":{"redis":"^4.7.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-redis_0.0.3_1738773570835_0.5612007976275768","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@codylabs/nestjs-redis","version":"0.0.4","author":{"name":"Cody Nguyen"},"license":"MIT","_id":"@codylabs/nestjs-redis@0.0.4","maintainers":[{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"}],"dist":{"shasum":"d0a5a6f84f1b3ce6c8915e23404dceeea3100ed3","tarball":"https://registry.npmjs.org/@codylabs/nestjs-redis/-/nestjs-redis-0.0.4.tgz","fileCount":39,"integrity":"sha512-Z/dFjyLzVY4XCOP4gCqyi/761/18wMo/4BW10GfnYo8BbJ4rlOBvR2Zi8Ac3CM4Q7EU9YACiV6Lp1/+7j2CGpw==","signatures":[{"sig":"MEQCICMV8ev8pvkk6H+6q88om06IZ7RANQdoBPeZlLVYVpe6AiB3+zBVh7xgfCQCrM5JX2e87Vjm+qp1o2JtI2aTe0QMLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":312048},"main":"./dist/index.js","_from":"file:codylabs-nestjs-redis-0.0.4.tgz","types":"./dist/index.d.ts","scripts":{"test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","clean":"rm -rf .turbo node_modules dist","prebuild":"rimraf dist","test:watch":"jest --watch"},"_npmUser":{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"},"_resolved":"/private/var/folders/wv/mjqybr5958sgj92d81_68wsh0000gn/T/51452d244703f0cbd07feca0867a1a93/codylabs-nestjs-redis-0.0.4.tgz","_integrity":"sha512-Z/dFjyLzVY4XCOP4gCqyi/761/18wMo/4BW10GfnYo8BbJ4rlOBvR2Zi8Ac3CM4Q7EU9YACiV6Lp1/+7j2CGpw==","_npmVersion":"10.9.2","description":"Redis (using node-redis) module for NestJS","directories":{},"_nodeVersion":"22.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@codylabs/typescript-configs":"0.0.7"},"peerDependencies":{"redis":"^4.7.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-redis_0.0.4_1738774648603_0.7693146594294467","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@codylabs/nestjs-redis","version":"0.0.5","author":"Cody Nguyen","license":"MIT","_id":"@codylabs/nestjs-redis@0.0.5","maintainers":[{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"}],"dist":{"shasum":"4d8e5df5dff7c5103007dffd6586f3215b4b63aa","tarball":"https://registry.npmjs.org/@codylabs/nestjs-redis/-/nestjs-redis-0.0.5.tgz","fileCount":39,"integrity":"sha512-1Ca+Dtb7RyhPBeMDa0Sma8ZMpCbB54NcIXgtPPw0eOyIXDLyokrHXJkVZYb0pzz/cQ4/tXhVla6TRHJkT3xNFA==","signatures":[{"sig":"MEQCIH2qCNZa1/e6LLCd2OMvQuqahTLOnzwUstFVGS/ET0qwAiA/uoZWpvqhlDIsoDHJ2yriRG9fo/UXh4t8FRhURl9Xag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329262},"main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","clean":"rm -rf .turbo node_modules dist","prebuild":"rimraf dist","test:watch":"jest --watch"},"_npmUser":{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"},"description":"Redis (using node-redis) module for NestJS","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@codylabs/typescript-configs":"0.0.8"},"peerDependencies":{"redis":"^4.7.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-redis_0.0.5_1779529538015_0.9224527317341586","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@codylabs/nestjs-redis","version":"0.0.6","author":"Cody Nguyen","license":"MIT","_id":"@codylabs/nestjs-redis@0.0.6","maintainers":[{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"}],"dist":{"shasum":"2c8888d3a1b70494c99fc436d452b9439119cf12","tarball":"https://registry.npmjs.org/@codylabs/nestjs-redis/-/nestjs-redis-0.0.6.tgz","fileCount":42,"integrity":"sha512-l16nUox0DBpxUNkgpC2wBOv5W+UHJs2dStIc4qfdycMzb4vPRqRA2wn4HA32/nFkTMNQ03Z6Wiy6mU2l72YZ5g==","signatures":[{"sig":"MEYCIQCa//L/mbS0nkvN8YvT/TmJ4MV37218V1kz4eySi9u2RAIhALhWZL0lSp2ntZ/7KPV0SBBFAFvUMMxFZXE7+tq/azHj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316527},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","clean":"rm -rf .turbo node_modules dist","prebuild":"rimraf dist","test:watch":"jest --watch"},"_npmUser":{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"},"description":"Flexible, production-ready Redis client module for NestJS with multi-connection support, built on the modern node-redis client","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@nestjs/testing":"^11.1.24","@codylabs/typescript-configs":"0.0.8"},"peerDependencies":{"redis":"^5.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-redis_0.0.6_1779866802342_0.0031842435548219417","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@codylabs/nestjs-redis","version":"0.0.7","author":"Cody Nguyen","license":"MIT","_id":"@codylabs/nestjs-redis@0.0.7","maintainers":[{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"}],"homepage":"https://github.com/cuongnd1705/codylabs#readme","bugs":{"url":"https://github.com/cuongnd1705/codylabs/issues"},"dist":{"shasum":"dfc12aeaac3f1ad9307307908a625f1bd8096ab8","tarball":"https://registry.npmjs.org/@codylabs/nestjs-redis/-/nestjs-redis-0.0.7.tgz","fileCount":42,"integrity":"sha512-eE2l6s2ps3FyEqm3lsCM+XNlnt53pv8bebfPqNHCXm0hVKwZPvUZmvvnB0etcwMRQEV3l0hU1Yd27QACqZaeOw==","signatures":[{"sig":"MEUCIQDjmbISLX6Xj4MQOEXOSdCXrH6NqaTCc4PoTzZoJr10nAIgGNQwCmSbPJd8Xk2o8yatdbZ/ZkmW08sbfbNfTb+ITY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316749},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","clean":"rm -rf .turbo node_modules dist","prebuild":"rimraf dist","test:watch":"jest --watch"},"_npmUser":{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"},"repository":{"url":"git+https://github.com/cuongnd1705/codylabs.git","type":"git"},"description":"Flexible, production-ready Redis client module for NestJS with multi-connection support, built on the modern node-redis client","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@nestjs/testing":"^11.1.24","@codylabs/typescript-configs":"0.0.9"},"peerDependencies":{"redis":"^6.0.0","@nestjs/core":"^11.0.0","@nestjs/common":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-redis_0.0.7_1780126504645_0.39136845104341655","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@codylabs/nestjs-redis","version":"0.0.8","author":"Cody Nguyen","license":"MIT","_id":"@codylabs/nestjs-redis@0.0.8","maintainers":[{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"}],"homepage":"https://github.com/cuongnd1705/codylabs#readme","bugs":{"url":"https://github.com/cuongnd1705/codylabs/issues"},"dist":{"shasum":"968a3d1ace215c50b8925ffb93e456d3b727216a","tarball":"https://registry.npmjs.org/@codylabs/nestjs-redis/-/nestjs-redis-0.0.8.tgz","fileCount":45,"integrity":"sha512-ZYD7Mm/hWSXPG+XasSF1fVEuL8FxFpSGxdbbpNNIbBVDAguk6MmwLfgXDWGYOD38v49PydSpDAqZvMF2fp2xVA==","signatures":[{"sig":"MEYCIQDj2q0GPyQTWEb9XwRDbMdr5HUp9+98166E1ppQ5YzTJQIhAIMdooVInCzyLBOJ/rKhoPnUHzUzdJB84DK5sMC51Nu8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":324286},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","clean":"rm -rf .turbo node_modules dist","prebuild":"rimraf dist","test:watch":"jest --watch"},"_npmUser":{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"},"repository":{"url":"git+https://github.com/cuongnd1705/codylabs.git","type":"git"},"description":"Flexible, production-ready Redis client module for NestJS with multi-connection support, built on the modern node-redis client","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@nestjs/testing":"^11.1.28","@codylabs/typescript-configs":"0.0.9"},"peerDependencies":{"redis":"^6.0.0","@nestjs/core":"^11.0.0","@nestjs/common":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-redis_0.0.8_1784477196598_0.5393472840164064","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@codylabs/nestjs-redis","version":"0.1.0","description":"Flexible, production-ready Redis client module for NestJS with multi-connection support, built on the modern node-redis client","homepage":"https://github.com/cuongnd1705/codylabs#readme","bugs":{"url":"https://github.com/cuongnd1705/codylabs/issues"},"license":"MIT","author":"Cody Nguyen","repository":{"type":"git","url":"git+https://github.com/cuongnd1705/codylabs.git"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"publishConfig":{"access":"public"},"devDependencies":{"@codylabs/typescript-configs":"0.1.0","@nestjs/testing":"^12.0.1","@swc/core":"^1.16.1","unplugin-swc":"^1.5.11","vitest":"^4.1.11"},"peerDependencies":{"@nestjs/common":"^12.0.0","@nestjs/core":"^12.0.0","redis":"^6.0.0"},"scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf .turbo node_modules dist","prebuild":"rimraf dist","test":"vitest run --passWithNoTests","test:watch":"vitest"},"_nodeVersion":"24.20.0","_id":"@codylabs/nestjs-redis@0.1.0","dist":{"integrity":"sha512-hpORYKvAKVTONP/hs6SwtDx9UXbKiZqNo9dI+QDTtFKbOL85T8U9Onil1mX+vYX2SaLVcQFcrIGcAYBnnjgKtQ==","shasum":"d57d006231a2277ce51891151960daec427bcb15","tarball":"https://registry.npmjs.org/@codylabs/nestjs-redis/-/nestjs-redis-0.1.0.tgz","fileCount":39,"unpackedSize":278447,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC+POu4Ow+J6QYr+PtV4XWPM2vyNHVgkdcvnrRVjMv+UAiBP8mERErP/gXKyWSv0Pu4haw51KwrOr/vubgZFCqo1Aw=="}]},"_npmUser":{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"},"directories":{},"maintainers":[{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs-redis_0.1.0_1788017131096_0.2549745222396509"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-25T16:59:54.298Z","modified":"2026-08-29T15:25:31.450Z","0.0.1":"2024-11-25T16:59:54.673Z","0.0.2":"2024-11-26T03:04:57.753Z","0.0.3":"2025-02-05T16:39:31.045Z","0.0.4":"2025-02-05T16:57:28.818Z","0.0.5":"2026-05-23T09:45:38.146Z","0.0.6":"2026-05-27T07:26:42.492Z","0.0.7":"2026-05-30T07:35:04.806Z","0.0.8":"2026-07-19T16:06:36.762Z","0.1.0":"2026-08-29T15:25:31.261Z"},"bugs":{"url":"https://github.com/cuongnd1705/codylabs/issues"},"author":"Cody Nguyen","license":"MIT","homepage":"https://github.com/cuongnd1705/codylabs#readme","repository":{"type":"git","url":"git+https://github.com/cuongnd1705/codylabs.git"},"description":"Flexible, production-ready Redis client module for NestJS with multi-connection support, built on the modern node-redis client","maintainers":[{"name":"cuongnd1705","email":"cuongnd.work@gmail.com"}],"readme":"# @codylabs/nestjs-redis-client\n\nFlexible, production-ready Redis client module for NestJS with multi-connection support, built on the modern node-redis client.\n\n## Features\n\n- Multi-connection support (named connections)\n- Client, Cluster, and Sentinel modes\n- NestJS DI integration and lifecycle management\n- Async configuration with `forRootAsync`\n- `forFeature()` for scoped connection re-exports\n- Configurable logging (enable, disable, or use a custom logger)\n- Type-safe, production-ready\n\n## Installation\n\n```sh\n# npm\nnpm install @codylabs/nestjs-redis-client redis\n\n# pnpm\npnpm add @codylabs/nestjs-redis-client redis\n```\n\n## Usage\n\n### Basic Usage\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { RedisModule } from '@codylabs/nestjs-redis-client';\n\n@Module({\n  imports: [\n    RedisModule.forRoot({\n      options: { url: 'redis://localhost:6379' },\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n### Injecting the Redis Client\n\n```typescript\nimport { Injectable } from '@nestjs/common';\nimport { InjectRedis } from '@codylabs/nestjs-redis-client';\nimport type { RedisClientType } from 'redis';\n\n@Injectable()\nexport class AppService {\n  constructor(@InjectRedis() private readonly redis: RedisClientType) {}\n\n  async setValue(key: string, value: string) {\n    await this.redis.set(key, value);\n  }\n\n  async getValue(key: string) {\n    return this.redis.get(key);\n  }\n}\n```\n\n### Multi-Connection\n\n```typescript\n@Module({\n  imports: [\n    RedisModule.forRoot({\n      isGlobal: true,\n      options: { url: 'redis://localhost:6379' },\n    }),\n    RedisModule.forRoot({\n      connectionName: 'cache',\n      type: 'client',\n      options: { url: 'redis://cache:6379' },\n    }),\n    RedisModule.forRoot({\n      connectionName: 'cluster',\n      type: 'cluster',\n      options: { rootNodes: [{ url: 'redis://cluster:6379' }] },\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n### Async Configuration\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { ConfigModule, ConfigService } from '@nestjs/config';\nimport { RedisModule } from '@codylabs/nestjs-redis-client';\n\n@Module({\n  imports: [\n    ConfigModule.forRoot(),\n    RedisModule.forRootAsync({\n      imports: [ConfigModule],\n      useFactory: async (configService: ConfigService) => ({\n        options: { url: configService.get<string>('REDIS_URL') },\n      }),\n      inject: [ConfigService],\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n## Logging\n\nLogging is controlled via the `logger` option in `forRoot` / `forRootAsync`:\n\n```typescript\n// Default — uses the built-in NestJS Logger\nRedisModule.forRoot({\n  options: { url: 'redis://localhost:6379' },\n});\n\n// Disable all logging\nRedisModule.forRoot({\n  logger: false,\n  options: { url: 'redis://localhost:6379' },\n});\n\n// Custom logger\nimport type { RedisLogger } from '@codylabs/nestjs-redis-client';\n\nconst myLogger: RedisLogger = {\n  log: (msg) => console.log(msg),\n  error: (msg) => console.error(msg),\n  warn: (msg) => console.warn(msg),\n};\n\nRedisModule.forRoot({\n  logger: myLogger,\n  options: { url: 'redis://localhost:6379' },\n});\n```\n\n### forFeature\n\nUse `forFeature()` in feature modules to re-export a specific named connection without making the root module global:\n\n```typescript\n@Module({\n  imports: [RedisModule.forFeature('cache')],\n})\nexport class CacheFeatureModule {}\n```\n\n## API\n\n- `@InjectRedis(name?)` - Decorator to inject a Redis client\n- `RedisToken(name?)` - Get the injection token for a Redis client\n- `RedisModule.forRoot(options)` / `forRootAsync(options)` - Module registration\n- `RedisModule.forFeature(name?)` - Re-export a named connection for feature modules\n- `RedisInstance` - Type alias for all Redis client types (client, cluster, sentinel)\n- `RedisLogger` - Interface for custom logger implementations\n\n## License\n\nMIT\n","readmeFilename":""}