¿Cómo puedo almacenar en caché la respuesta de la API?
En el escenario actual, tenemos un problema como que la API recibe visitas 10k veces y esta API debemos llamarla una vez solo después de 24 horas.
let configurationsLoaded = false async function fetch() { try { // Here we will have the JSON response const data = await agent.Core.fetch() if (!Array.isArray(data)) { throw new Error('Invalid response (' + JSON.stringify(data) + ')') } data.forEach(({ Name, Value }) => { if (Name.startsWith('url.path.')) { config.urls[Name.replace('url.path.', '')] = Value } else if (Name.startsWith('kafka.topic.')) { config.kafkaTopics[Name.replace('kafka.topic.', '')] = Value } }) configurationsLoaded = Object.keys(config.urls).length > 0 if (configurationsLoaded) { configurationsLoadedTime = Date.now() } } catch (error) { configurationsLoaded = false showToastMessage('Failed to fetch app configurations: ' + error.message) return console.error('Failed to fetch app configurations', error) } }
¿Necesitamos usar las API de LocalStorage para almacenar datos en caché? porque he leído en muchos artículos incluso después de la encriptación de los datos. ¡No es seguro! ¿O podemos usar la API de caché del navegador? https://developer.mozilla.org/en-US/docs/Web/API/Cache
También hemos usado el paquete npm 'superagent-bluebird-promise', entonces, ¿podemos usar el interceptor para almacenar en caché la llamada?
¿Cuál será el mejor enfoque que podemos usar aquí para conservar los datos durante 24 horas y llamarlos cada 24 horas?
PD: no estoy pidiendo el código, pero si alguien pudiera darme los pasos para transformarlo en un resultado, ¡sería de gran ayuda! ¡Gracias por adelantado!