Almacenamiento en caché en Node.js con TypeScript usando globalThis y declare global Este título se refiere a un blog que habla sobre cómo utilizar la función de caché en Node.js utilizando TypeScript, globalThis y declare global para mejorar el rendimiento de una aplicación. El título es corto y directo, permitiendo que los lectores puedan entender lo que trata el blog en un instante.

Técnicas de caché en Node.js y TypeScript para optimizar el rendimiento, evitar llamadas API redundantes y mejorar integraciones reales, especialmente en proyectos de gestión de reservas y detalles de vehículos. El uso de globalThis para almacenamiento en memoria simple y eficiente y recomendaciones

1 oct 2025 • 3 min de lectura • Equip Q2BSTUDIO

inteligencia-artifial-software-aplicaciones

Cuando trabajas en un entorno Node.js con TypeScript a menudo necesitas un mecanismo de caché sencillo y ligero para mantener variables vivas mientras el proceso del servidor esté en ejecución. En Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida, utilizamos esta técnica para evitar llamadas externas redundantes y mejorar el rendimiento en integraciones reales.

El problema que resolvimos surgió en un proyecto de gestión de reservas para talleres. Cada reserva incluía un vehicle_id que apuntaba a un vehículo en un sistema externo. Un tercero necesitaba obtener datos de la reserva y los detalles del vehículo en la misma llamada API. Para ello creamos un hook que se ejecuta antes de cada fetch de reservas y que: detecta si existe vehicle_id, obtiene los datos completos del vehículo desde el sistema externo y adjunta el objeto vehicle al resultado de la reserva.

El reto fue evitar llamadas API duplicadas. Los datos de los vehículos no cambian con frecuencia, por lo que repetir la consulta para el mismo vehicle_id malgasta tiempo y ancho de banda. La solución fue una capa de caché en memoria que vive mientras el servidor esté activo.

Qué es globalThis y por qué usarlo globalThis es un objeto global en JavaScript y TypeScript que ofrece acceso al scope global independientemente del entorno. Cualquier variable que adjuntes a globalThis será accesible desde cualquier parte del código y permanecerá mientras el proceso siga vivo. Ejemplo de uso práctico: globalThis.myAppName = DriveMotive; console.log(globalThis.myAppName);

Usar globalThis con TypeScript requiere declarar el tipo para evitar errores del compilador. Si escribes globalThis.__vehicleCache = new Map(); TypeScript arrojará un error porque no conoce la propiedad __vehicleCache. Para solucionarlo se siguen tres pasos:

1) Indicar que el archivo es un módulo añadiendo export {}; en el fichero de tipos, por ejemplo types.d.ts.

2) Declarar la variable global para TypeScript con declare global y especificar el tipo. Un ejemplo sencillo sería declarar una variable __vehicleCache de tipo Map o undefined, expresado en texto como Map de string a any si se quiere evitar el uso de caracteres de generics.

3) Inicializar la caché en la lógica de la aplicación si no existe aún. Una línea práctica es const vehicleCache = (globalThis.__vehicleCache ??= new Map()); Esta expresión comprueba si __vehicleCache ya existe en globalThis, si existe lo asigna a vehicleCache y si no existe crea una nueva Map y la asigna.

Con este patrón se logra un almacenamiento en memoria simple y eficiente para reutilizar datos durante la vida del proceso. Es ideal para datos que cambian poco, como los detalles de vehículos en nuestro caso, y evita llamadas innecesarias a servicios externos.

Consideraciones y buenas prácticas

Usar globalThis para caché en memoria es sencillo pero requiere precaución: controlar el tamaño de la caché para evitar agotamiento de memoria, implementar invalidaciones o TTL cuando los datos puedan cambiar, y documentar la existencia de variables globales para el equipo. Para entornos distribuidos o con múltiples instancias de servidor hay que combinar esto con soluciones de caché compartido si se necesita coherencia entre instancias.

En Q2BSTUDIO aplicamos estos enfoques en proyectos de software a medida y plataformas integradas, complementando con servicios cloud cuando es necesario. Si buscas desarrollar una solución robusta y escalable podemos ayudarte con desarrollo de aplicaciones a medida y arquitectura en la nube, o bien integrar capacidades de inteligencia artificial para optimizar procesos y automatizar decisiones.

Palabras clave relevantes: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Si te interesa un enfoque personalizado para tu proyecto o quieres implementar un sistema de caché sencillo y efectivo en Node.js con TypeScript, en Q2BSTUDIO somos especialistas listos para ayudarte.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat