Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cache. ¿Cómo, cuándo, por qué?

Avatar for Juani Juani
September 18, 2019

Cache. ¿Cómo, cuándo, por qué?

La performance es uno de los pilares de la web y el cache uno de los pilares de la performance. En esta charla, vamos a aprender qué es el cache, cuáles son sus pros y contras y cómo integrarlo dentro de nuestra aplicación.

Avatar for Juani

Juani

September 18, 2019

More Decks by Juani

Other Decks in Technology

Transcript

  1. En informática, caché es un componente de hardware o software

    que almacena datos para que las solicitudes futuras de esos datos se puedan atender con mayor rapidez; los datos almacenados en un caché pueden ser el resultado de un cálculo anterior o el duplicado de datos almacenados en otro lugar.
  2. 731

  3. • KEY: Identificador único de un objeto
 • VALUE: Valor

    guardado en nuestro cache para una key determinada
 • HIT: La respuesta vuelve desde el cache • MISS: La respuesta no vuelve del cache sino que se vuelve a procesar • FLUSH: Borramos una (o más) keys de nuestro cache
 • EXPIRACION: Es la duración (tiempo) que vive una clave de cache
  4. • SET: Es el comando para guardar una clave (y

    su valor) en cache
 • GET: Es el comando para obtener el valor de una clave
 • DEL/FLUSH: Es el comando para eliminar una clave del cache
  5. Cache en proceso Implica que los datos son guardados dentro

    de la misma máquina en donde se ejecuta el resto del código de nuestra aplicación
  6. Cache en proceso Request { key1: value1, key2: value2, key3:

    value3 } Esta la key en Cache? Response Si No Agrego la key y el value al cache
  7. Cache en proceso Request { key1: value1, key2: value2, key3:

    value3 } Esta la key en Cache? Response Si No Agrego la key y el value al cache
  8. Cache en proceso Request { key1: value1, key2: value2, key3:

    value3 } Esta la key en Cache? Response Si No Agrego la key y el value al cache
  9. Cache centralizado Implica que los datos son guardados en un

    servidor externo al que procesa los datos
  10. Consistencia de datos Para servidores de instancia única ambas opciones

    performan igual. Sin embargo, en escala podemos ver que el cache centralizado performa mucho mejor que el cache en proceso
  11. Velocidad En términos de velocidad, el cache en proceso es

    mas rápido que el cache centralizado ya que no tiene el tiempo de red en conectarse a un servidor externo
  12. Request { key1: value1, key2: value2, key3: value3 } Esta

    la key en Cache? Response Si No Agrego la key y el value al cache