From ecaaee43e26248066b24678b3fbadb3c06f4f1cf Mon Sep 17 00:00:00 2001 From: jlenon7 Date: Tue, 19 Aug 2025 09:22:13 -0300 Subject: [PATCH] chore(driver): only set ttl if it exists --- package-lock.json | 4 ++-- package.json | 2 +- src/cache/drivers/MemoryDriver.ts | 12 +++++++++++- src/cache/drivers/RedisDriver.ts | 19 +++++++++++++++---- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index bbd959c..6b37f76 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@athenna/cache", - "version": "5.3.0", + "version": "5.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@athenna/cache", - "version": "5.3.0", + "version": "5.4.0", "license": "MIT", "devDependencies": { "@athenna/artisan": "^5.7.0", diff --git a/package.json b/package.json index 8c931ee..fbac711 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@athenna/cache", - "version": "5.3.0", + "version": "5.4.0", "description": "The cache handler for Athenna Framework.", "license": "MIT", "author": "João Lenon ", diff --git a/src/cache/drivers/MemoryDriver.ts b/src/cache/drivers/MemoryDriver.ts index b24ac5f..9c5e9ed 100644 --- a/src/cache/drivers/MemoryDriver.ts +++ b/src/cache/drivers/MemoryDriver.ts @@ -98,7 +98,17 @@ export class MemoryDriver extends Driver> { * Set a value in the cache. */ public async set(key: string, value: any, options?: { ttl?: number }) { - this.client.set(key, value, { ttl: options?.ttl || this.ttl }) + const driverOptions: any = {} + + options = Options.create(options, { + ttl: this.ttl + }) + + if (options.ttl) { + driverOptions.ttl = options.ttl + } + + this.client.set(key, value, driverOptions) } /** diff --git a/src/cache/drivers/RedisDriver.ts b/src/cache/drivers/RedisDriver.ts index bb845c7..28af227 100644 --- a/src/cache/drivers/RedisDriver.ts +++ b/src/cache/drivers/RedisDriver.ts @@ -119,8 +119,11 @@ export class RedisDriver extends Driver { } }) .catch(err => { - console.error(err) + console.error('error happened while trying to connect to redis', err) + + throw err }) + this.isConnected = true this.isSavedOnFactory = options.saveOnFactory @@ -193,12 +196,20 @@ export class RedisDriver extends Driver { * Set a value in the cache. */ public async set(key: string, value: any, options?: { ttl?: number }) { - await this.client.set(this.getCacheKey(key), value, { - expiration: { + const driverOptions: any = {} + + options = Options.create(options, { + ttl: this.ttl + }) + + if (options.ttl) { + driverOptions.expiration = { type: 'EX', value: Math.ceil((options?.ttl || this.ttl) / 1000) } - }) + } + + await this.client.set(this.getCacheKey(key), value, driverOptions) } /**