Articulo de referencia

caché negativo

En programación informática , la caché negativa es una caché que también almacena respuestas "negativas", es decir, fallos. Esto significa que un programa recuerda el resultado ...

En programación informática , la caché negativa es una caché que también almacena respuestas "negativas", es decir, fallos. Esto significa que un programa recuerda el resultado que indica un fallo incluso después de que se haya corregido la causa. Generalmente, la caché negativa es una decisión de diseño, pero también puede ser un error de software .

Ejemplos

Consideremos un navegador web que intenta cargar una página cuando la red no está disponible. El navegador recibirá un código de error que indica el problema y podría mostrar este mensaje al usuario en lugar de la página solicitada. Sin embargo, es incorrecto que el navegador almacene el mensaje de error en la caché de la página, ya que esto provocaría que el error se mostrara nuevamente cuando el usuario intente cargar la misma página, incluso después de que la red se haya restablecido. El mensaje de error no debe almacenarse en la caché bajo la URL de la página ; hasta que el navegador pueda cargar la página correctamente, cada vez que el usuario intente cargarla, el navegador deberá realizar un nuevo intento.

Un aspecto frustrante de las cachés negativas es que el usuario puede esforzarse mucho en solucionar el problema y, después de determinar y eliminar la causa raíz, el error aún no desaparece.

Existen casos en los que es necesario almacenar en caché estados que simulan fallos. Por ejemplo, DNS requiere que los servidores de nombres que almacenan en caché recuerden tanto las respuestas negativas [ 1 ] como las positivas. Si un servidor de nombres autoritativo devuelve una respuesta negativa, indicando que un nombre no existe, esta se almacena en caché. La respuesta negativa puede percibirse como un fallo a nivel de aplicación; sin embargo, para el servidor de nombres que la almacena en caché, no lo es. Los tiempos de caché para las respuestas negativas y positivas pueden ajustarse de forma independiente.

Descripción

Normalmente, solo se desea una caché negativa si el fallo es muy costoso y la condición de error se produce automáticamente sin la intervención del usuario. Esto crea una situación en la que el usuario no puede aislar la causa del fallo: a pesar de intentar solucionar todo lo posible, el programa sigue sin funcionar. Cuando se almacena en caché un fallo, el programa debe indicar claramente qué se debe hacer para borrar la caché, además de describir la causa del error. En tales condiciones, una caché negativa es un ejemplo de un antipatrón de diseño .

La caché negativa aún puede recuperarse si los registros almacenados en caché caducan.

Véase también

Referencias

  1. RFC 2308