import odooApi from '@/core/api/odooApi'; import { createClient } from 'redis'; const client = createClient(); client.on('error', (err) => console.error('Redis Client Error', err)); const connectRedis = async () => { if (!client.isOpen) { await client.connect(); } }; export default async function handler(req, res) { try { await connectRedis(); const cacheKey = 'hero-banner'; // await client.del(cacheKey); let cachedData = await client.get(cacheKey); if (cachedData) { const data = JSON.parse(cachedData); return res.status(200).json({ data }); } else { const dataBannerSections = await odooApi( 'GET', '/api/v1/banner?type=home-banner' ); // Simpan hasil fetch ke Redis dengan masa kadaluarsa 3 hari (259200 detik) await client.set( cacheKey, JSON.stringify(dataBannerSections), 'EX', 259200 ); return res.status(200).json({ data: dataBannerSections }); } } catch (error) { console.error('Error interacting with Redis or fetching data:', error); return res.status(500).json({ error: 'Internal Server Error' }); } }