diff --git a/lib/util/cache/package/redis.ts b/lib/util/cache/package/redis.ts
index 3cbfaa09b61d146e0ac8ea495f174feedc7e55c1..17659c05b14fe9dc1cfe8a8977864bf2f53dde92 100644
--- a/lib/util/cache/package/redis.ts
+++ b/lib/util/cache/package/redis.ts
@@ -1,4 +1,5 @@
 /* istanbul ignore file */
+import is from '@sindresorhus/is';
 import { DateTime } from 'luxon';
 import { createClient } from 'redis';
 import { logger } from '../../../logger';
@@ -54,14 +55,22 @@ export async function set(
   value: unknown,
   ttlMinutes = 5
 ): Promise<void> {
-  logger.trace({ namespace, key, ttlMinutes }, 'Saving cached value');
+  let minutes = ttlMinutes;
+  if (!is.integer(minutes)) {
+    if (is.number(minutes)) {
+      minutes = Math.floor(minutes);
+    } else {
+      minutes = 5;
+    }
+  }
+  logger.trace({ namespace, key, minutes }, 'Saving cached value');
   await client?.set(
     getKey(namespace, key),
     JSON.stringify({
       value,
-      expiry: DateTime.local().plus({ minutes: ttlMinutes }),
+      expiry: DateTime.local().plus({ minutes }),
     }),
-    { EX: ttlMinutes * 60 }
+    { EX: minutes * 60 }
   );
 }