Rastreo de lecturas escalable con Redis Bitmaps

Descubre cómo escalar la lectura de categorías para millones de usuarios con Redis bitmaps: de MySQL a SETBIT/GETBIT, borrado de claves al publicar y rendimiento ultrarrápido.

17 sept 2025 • 3 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Un amigo vino con un problema de escalabilidad. Había diseñado una funcionalidad para marcar si cada usuario había leído las publicaciones más recientes de cada categoría. La primera idea fue almacenar una fila en MySQL por cada par user_id, category_id y actualizarla cada vez que cambiaba algo. En principio parecía sencillo, pero en producción todo se rompió.

El diseño inicial tenía un esquema similar a: category_user_read ( user_id BIGINT , category_id BIGINT , read BOOLEAN , PRIMARY KEY ( user_id , category_id ), FOREIGN KEY ( user_id ) REFERENCES users ( id ) ); La lógica era simple: cuando un usuario abría una categoría actualizar su fila con read = true; cuando se añadía un nuevo post actualizar todas las filas de esa categoría con read = false.

Por qué falló: en la práctica esa tabla se convirtió en un cuello de botella. Cada vista de página disparaba una actualización. Cada post nuevo producía una actualización masiva que podía afectar a millones de filas. InnoDB colocaba locks exclusivos por fila y la clave foránea a users añadía más comprobaciones y bloqueo. Con miles de usuarios concurrentes la tabla pasó a ser un punto de contención global.

Al aclarar los requisitos descubrimos que el producto solo necesitaba algo mucho más simple: mostrar un punto rojo en la pestaña si el usuario no había leído la categoría. No hacía falta almacenar el id exacto del último post leído. Los datos no eran críticos y podían tolerar cierta pérdida. Pero era imprescindible que fuera rápido y escalable a millones de usuarios. Esa simple aclaración cambió todo el diseño.

La solución propuesta fue mover el estado a Redis usando bitmaps. Un bitmap es un arreglo de ceros y unos donde cada posición corresponde a un user_id. Un bitmap por categoría. Usamos el número de user_id como índice dentro del bit array. Operaciones típicas: SETBIT category:123:read 456 1 para marcar lectura, GETBIT category:123:read 456 para comprobar, y al publicar un nuevo post simplemente borrar la clave DEL category:123:read para resetear el estado de esa categoría.

Ventajas: operaciones ultrarrápidas con coste constante O(1) y sin overhead de locking. Huella de memoria mínima: 1 millon de usuarios = 1 millon de bits = aproximadamente 122 KB. Incluso con decenas de millones de usuarios el coste en memoria se mantiene en megabytes. Escala de forma natural y no sufre la contención que provoca una tabla relacional con millones de actualizaciones concurrentes. La compensación principal es que si los IDs de usuario son muy dispersos el bitmap puede ser mayor de lo estrictamente necesario, pero en la mayoría de casos ese coste es pequeño frente a la simplicidad y velocidad ganadas.

Implementación práctica: mantener una clave por categoría y usar SETBIT al abrir la categoría y DEL cuando se publica un nuevo post. Si se necesita conservar historial o llevar métricas más detalladas se puede combinar Redis con procesos asíncronos que persistan resúmenes en una base de datos analítica, manteniendo la ruta crítica en memoria para latencias bajas.

En Q2BSTUDIO aplicamos patrones similares cuando diseñamos sistemas escalables y fiables. Somos una empresa de desarrollo de software y aplicaciones a medida que integra inteligencia artificial y ciberseguridad en soluciones reales para empresas. Si buscas desarrollar una app optimizada para gran volumen de usuarios podemos encargarnos del diseño backend y de la integración con Redis y servicios cloud. Descubre nuestros servicios de software a medida en desarrollo de aplicaciones y software multiplataforma y nuestras soluciones para despliegue y operación en la nube en servicios cloud AWS y Azure.

Palabras clave que aplicamos en nuestros proyectos: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Combinamos arquitectura eficiente, automatización y buenas prácticas de seguridad para ofrecer productos que escalan y que pueden integrarse con inteligencia de negocio y soluciones BI como Power BI.

Si quieres una auditoría o prototipo para migrar una implementación pesada en base de datos a una solución basada en Redis bitmaps, o explorar cómo incluir IA en tu producto, en Q2BSTUDIO podemos ayudarte desde la definición hasta la puesta en producción.

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