¿Qué es Selective Caching? | Optimización de Cache Keys para CDN

Aprende qué es Selective Caching, cómo optimiza las cache keys para determinar qué debe ser cacheado y con qué criterios, y cuándo usarlo para entrega inteligente de contenido.

Selective Caching determina qué debe ser cacheado basándose en criterios específicos — optimizando cache keys para asegurar que el contenido correcto sea cacheado con las reglas adecuadas para entrega inteligente de contenido.


¿Qué es Selective Caching?

Selective Caching — también llamado advanced cache o granular cache — es la capacidad de definir qué debe ser cacheado basándose en información específica de la solicitud HTTP.

A diferencia del caching “todo o nada”, Selective Caching usa Advanced Cache Keys para determinar:

  • Qué contenido debe ser cacheado
  • Con qué criterios la cache key debe ser construida
  • Cuándo el contenido debe ignorar el cache completamente

Esta técnica responde a una pregunta específica: “¿Con qué criterios de selección debo cachear este contenido?”


Cómo funciona Selective Caching

Selective Caching opera aplicando reglas que determinan el comportamiento del cache para cada solicitud:

1. Verificación de elegibilidad para cache ¿Debe esta solicitud ser cacheada? Algunos contenidos (autorización de pagos, finalización de pedidos) nunca deben ser cacheados.

2. Construcción de la cache key ¿Qué combinación de URL, headers, cookies y query strings identifica exclusivamente este contenido?

3. Asignación de TTL ¿Por cuánto tiempo debe ser cacheado este contenido? Diferentes tipos de contenido necesitan diferentes duraciones de cache.

4. Reglas de bypass ¿Cuándo debe el cache ser explícitamente ignorado independientemente de otras reglas?


Selective Caching vs. otras estrategias de caching

EstrategiaPregunta que respondeEnfoque
Micro Caching¿Por cuánto tiempo cachear?TTL corto para datos dinámicos
Tiered Caching¿Cuántas capas cachear?Jerarquía entre puntos de presencia y origen
Granular Caching¿Qué cachear y con qué regla?Segmentación por headers y cookies
Selective Caching¿Qué criterios usar?Optimización de cache key

Las cuatro estrategias son complementarias — no mutuamente excluyentes.


Optimización de cache keys

¿Qué es una cache key?

Una cache key es un identificador único que determina si existe una respuesta cacheada para una solicitud específica. La cache key se construye a partir de:

  • URL path — el identificador básico
  • Query strings — parámetros que afectan el contenido
  • Headers — tipo de dispositivo, idioma, encoding
  • Cookies — identificadores de sesión o preferencias

Optimizando cache keys

Muy amplia — Cache key incluye solo URL

  • Resultado: Mismo contenido para todos los usuarios, potencial contaminación de sesión

Muy específica — Cache key incluye demasiadas variables

  • Resultado: Fragmentación de cache, bajo hit ratio, almacenamiento desperdiciado

Óptima — Cache key incluye solo variables que afectan el contenido

  • Resultado: Alto hit ratio, personalización correcta, almacenamiento eficiente

Reglas de Selective Caching

Cache por tipo de contenido

Diferentes tipos de contenido tienen diferentes requisitos de caching:

Tipo de ContenidoComportamiento del CacheTTL Típico
Assets estáticos (imágenes, CSS, JS)Siempre cachearDías a semanas
Catálogo de productosCachear con invalidaciónHoras
Respuestas de APISelectivo por endpointSegundos a minutos
Datos específicos de usuarioCachear con clave de sesiónSegundos
Operaciones de pagoNunca cachear

Cache por endpoint

Aplica reglas diferentes para diferentes endpoints de API:

/api/products → Cachear con TTL de 5 minutos
/api/cart → Cachear con session key, TTL de 30 segundos
/api/payment/authorize → Bypass del cache completamente
/api/recommendations → Cachear por segmento de usuario, TTL de 1 minuto

Cache por segmento de usuario

Diferentes segmentos de usuarios pueden recibir diferentes contenidos cacheados:

  • Usuarios anónimos — Cache compartido, TTL más largo
  • Usuarios autenticados — Cache específico de sesión, TTL más corto
  • Usuarios premium — Cache personalizado, TTL mínimo

Cuándo usar Selective Caching

Usa Selective Caching cuando:

  • Diferentes endpoints necesitan diferentes comportamientos de cache
  • El contenido varía por segmento de usuario, dispositivo o ubicación
  • Necesitas control detallado sobre qué se cachea
  • Algunas operaciones nunca deben ser cacheadas
  • Estás implementando entrega inteligente de contenido

Evita Selective Caching cuando:

  • Todo el contenido es estático e idéntico para todos los usuarios
  • Las reglas de cache serían demasiado complejas de mantener
  • El overhead de evaluación de reglas supera el beneficio

Combinando Selective Caching con otras estrategias

Selective Caching funciona mejor cuando se combina con otras estrategias de caching:

Con Micro Caching: Selective Caching determina qué cachear; Micro Caching determina por cuánto tiempo.

Con Tiered Caching: Selective Caching determina las reglas de cache; Tiered Caching determina la distribución del cache.

Con Granular Caching: Selective Caching determina los criterios de selección; Granular Caching implementa la segmentación.


Mejores prácticas para Selective Caching

1. Define reglas claras de elegibilidad para cache

Documenta explícitamente qué contenido debe y no debe ser cacheado. En caso de duda, comienza con reglas conservadoras y expande.

2. Usa construcción consistente de cache keys

Define un orden estándar para los componentes de la cache key para garantizar consistencia en toda tu infraestructura.

3. Implementa reglas explícitas de bypass

Nunca dependas de comportamiento implícito para operaciones críticas. Define explícitamente reglas de bypass para pagos, autenticación y otras operaciones sensibles.

4. Monitorea la efectividad del cache

Rastrea los cache hit ratios por regla para identificar situaciones de over-caching o under-caching.

5. Planifica para invalidación

Define cómo el cache será invalidado cuando el contenido cambie — purge basado en clave, expiración basada en tiempo o invalidación orientada a eventos.


Ejemplo real: caching de API de e-commerce

Una plataforma de e-commerce usa Selective Caching para su API:

Reglas de cache:

GET /api/products/* → Cachear 5 minutos, clave por URL
GET /api/products/{id} → Cachear 2 minutos, clave por URL + Accept-Language
GET /api/cart/* → Cachear 30 segundos, clave por session_id
GET /api/recommendations/* → Cachear 1 minuto, clave por user_segment
POST /api/cart/* → Bypass del cache
POST /api/payment/* → Bypass del cache
POST /api/orders/* → Bypass del cache

Resultado:

  • Navegación de productos es rápida y escalable
  • Operaciones de carrito permanecen responsivas
  • Operaciones de pago nunca son cacheadas
  • Recomendaciones son personalizadas pero eficientes

FAQ

¿Qué es Selective Caching?

Es una técnica de caching que determina qué debe ser cacheado basándose en criterios específicos, optimizando cache keys para entrega inteligente de contenido.

¿Cómo es Selective Caching diferente del caching básico?

El caching básico típicamente cachea todo o nada. Selective Caching aplica reglas para determinar qué se cachea, con qué clave y por cuánto tiempo.

¿Cuál es la diferencia entre Selective Caching y Granular Caching?

Selective Caching se enfoca en determinar qué criterios usar para decisiones de caching. Granular Caching se enfoca en implementar la segmentación con Advanced Cache Keys. Trabajan juntos.

¿Cuándo debo usar Selective Caching?

Úsalo cuando diferentes tipos de contenido o endpoints necesitan diferentes comportamientos de cache, o cuando algunas operaciones nunca deben ser cacheadas.

¿Cómo se relaciona Selective Caching con cache bypass?

Selective Caching incluye reglas explícitas de bypass que aseguran que ciertas operaciones (como autorización de pagos) nunca pasen por el cache, independientemente de otras configuraciones.

¿Puede Selective Caching mejorar el cache hit ratio?

Sí, al asegurar que solo el contenido apropiado sea cacheado con claves óptimas, Selective Caching puede mejorar significativamente el cache hit ratio comparado con políticas de caching genéricas.


Conclusión

Selective Caching proporciona la capa de inteligencia para tu estrategia de caching. Al determinar qué debe ser cacheado y con qué criterios, asegura que el cache sea usado efectivamente sin comprometer la integridad de los datos o la experiencia del usuario.

Combinado con Micro Caching para frescura, Tiered Caching para distribución y Granular Caching para segmentación, Selective Caching permite estrategias de caching sofisticadas que entregan el contenido correcto al usuario correcto en el momento correcto.


Próximos pasos

Conoce la solución de Cache de Azion y ve cómo implementa Selective Caching para entrega inteligente de contenido.

Habla con un especialista de Azion

mantente actualizado

Suscríbete a nuestro boletín informativo

Recibe las últimas actualizaciones de productos, destacados de eventos y conocimientos de la industria tecnológica directamente en tu bandeja de entrada.