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 read • Q2BSTUDIO Team

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat