Barazo AppView backend barazo.forum
at main 25 lines 605 B view raw
1import { Redis } from 'ioredis' 2import type { FastifyBaseLogger } from 'fastify' 3 4export function createCache(valkeyUrl: string, logger: FastifyBaseLogger) { 5 const cache = new Redis(valkeyUrl, { 6 maxRetriesPerRequest: 3, 7 retryStrategy(times: number) { 8 const delay = Math.min(times * 200, 2000) 9 return delay 10 }, 11 lazyConnect: true, 12 }) 13 14 cache.on('error', (err: Error) => { 15 logger.error({ err }, 'Valkey connection error') 16 }) 17 18 cache.on('connect', () => { 19 logger.info('Connected to Valkey') 20 }) 21 22 return cache 23} 24 25export type Cache = ReturnType<typeof createCache>