Sí, inactive
debe ser mayor o igual a proxy_cache_valid
para que la caché funcione de manera efectiva y no elimine objetos antes de lo esperado.
Detalle de cómo interactúan:
proxy_cache_valid
:
Establece el tiempo de validez de los objetos en la caché. Por ejemplo:proxy_cache_valid 200 10m;
Esto significa que las respuestas con código HTTP200
serán válidas durante 10 minutos en la caché.inactive
:
Define cuánto tiempo puede permanecer un objeto en la caché sin ser solicitado. Si un objeto no se utiliza durante el tiempo especificado, se eliminará de la caché, incluso si todavía es válido segúnproxy_cache_valid
.
Relación entre ambos:
- Si
inactive
es menor queproxy_cache_valid
, los objetos podrían eliminarse antes de que expiren según las reglas de validez, lo cual es ineficiente. - Si
inactive
es mayor o igual aproxy_cache_valid
, los objetos se mantendrán en la caché mientras sean válidos y hasta que el tiempo inactivo se alcance.
Ejemplo práctico:
Supongamos la siguiente configuración:
proxy_cache_valid 200 10m;
proxy_cache_path /var/cache/nginx/cache levels=1:2 keys_zone=mycache:10m inactive=15m max_size=1g;
- Una respuesta con código
200
será válida en la caché durante 10 minutos. - Si nadie solicita ese objeto durante 15 minutos, se eliminará automáticamente.
En este caso, como inactive (15m)
es mayor que proxy_cache_valid (10m)
, el sistema funciona correctamente.
Recomendación:
Siempre asegúrate de que inactive
sea mayor o igual que el tiempo máximo configurado en las directivas proxy_cache_valid
.