Los 3 tipos de Caché que todo Developer debería conocer: HTTP vs Reverse Proxy vs App

Поделиться
HTML-код
  • Опубликовано: 30 сен 2024
  • La caché es un parche. Pero un parche bien puesto puede mejorar mucho la performance y la mantenibilidad de nuestro código. En este vídeo exploramos cuál es el mejor sitio para añadirla.
    Curso → cdly.to/curso-...
    ﹤🍍﹥ Codely
    ├ 🎥 Suscríbete: ruclips.net/user/c...
    ├ 🔖 Cursos: bit.ly/cursos-...
    └ 👋 Redes sociales:
    ├ / codelytv
    ├ / javiercane
    ├ / rafaoe
    ├ / codelytv
    └ / codelytv

Комментарии • 47

  • @brunocascio
    @brunocascio 2 месяца назад +8

    stale-while-revalidate y stale-if-error, son 2 muy importantes tambien.
    Algo que hay que destacar es que cache-control no trabaja cuando hay cookies de por medio o si el cliente envia no-cache como cache-control.
    Antes que configurar esto a las 2 de la manana, es mejor hacer un capacity plan y/o escalar infrastructura, ya que usar cache sin saber puede terminar en siriviendo contenido de un usuario a otro usuario (por ejemplo cuando se envia el token jwt en un header en lugar de una cookie)

  • @gedwardromo1025
    @gedwardromo1025 3 месяца назад +12

    Esto si es contenido más avanzado, gracias por compartir 💪

  • @adan9975
    @adan9975 2 месяца назад +4

    Los 15 minutos más productivos de hoy jajaa gracias ❤❤

  • @angelcareaga5028
    @angelcareaga5028 3 месяца назад +5

    Yo me hice una especie de caché personalizada, en la cual interviene Firebase Firestore. Cabe aclarar que es para un tipo de aplicación específica, que no aplica en todos los casos.
    - Lo que hago es que guardo en un registro en Firebase por tabla.
    Este registro contiene la última vez que se actualizó la base de datos y la cantidad de registros que tengo en esa tabla.
    Ahora en la aplicación, lo que hice es un 'sistema de sincronización', en donde verifico primero con mi IndexedDB la cantidad de registros y luego la fecha de actualización para sincronizar o no yendo al API.
    Me ha funcionado bien, igual ya implementé encriptación en el IndexedDB para ocultar ciertos campos.
    Para recursos como assets pues uso el Service Worker. Pero bueno, muchas gracias por el video, desconocía el uso del Etag, habrá que aplicarlo.

    • @jesusdevandroid1930
      @jesusdevandroid1930 3 месяца назад

      excelente solución tienes algún medium o paper con aquello , saludos

    • @nunatix7985
      @nunatix7985 2 месяца назад +1

      Toda aplicacion require casos unicos en su mayoria, es cierto. Pero en tu caso es mejor el uso de indices con cache en memoria, usar timestamps en los etag los cuales se cachearan en los proxies y usar lambdas con revalidaciones en la aplicacion para consultar la informacion. Asi reduces las operaciones con base de datos lo cual es muy costoso, y tambien reduces tiempos de respuesta de 2s~900ms a 40~60ms ya que todos los caches estaran en el edge o cerca del ususario (cdn, assets, indices, bases, funciones, etc.) y no necesitaras verificar sincronizaciones y no necesitaras service workers ya que toda esta operacion no bloqueara el thread principal. Entre otras mejoras de arquitectura.

    • @angelcareaga5028
      @angelcareaga5028 2 месяца назад

      @@nunatix7985 entiendo lo que dices, unas cosas no las conocía, igual las aplicaré las que entren.
      Pero en este caso quería implementar las menos consultas hacia el API, que es App Engine o Cloud Functions. Que como sabemos cobra cuotas después de la capa gratuita. Entonces, para minimizar costos, en este caso que la aplicación puede ir desde una PYME, se buscó la mejor solución para esto, además de estar optimizada, ya manejo índices y demás cosas, pero el punto es no tener tantas peticiones al server y sí como tal una PWA. Manteniendo tiempos de 150ms. Yo creo que bastante prudente para tener el front en Vercel y el API en Firebase o Google Cloud.

  • @Investigadorinexperto-dt3ed
    @Investigadorinexperto-dt3ed 3 месяца назад +9

    excelente forma de explicar las cosas, dos puntos de vista muy buenos

    • @CodelyTV
      @CodelyTV  3 месяца назад +1

      Muchas gracias por el comentario. Ver que te ha resultado útil anima a seguir al pie del cañón, con lo que valoramos doblemente el tiempo que te has tomado en escribir el comentario 😊

  • @JhonElDeSistemas
    @JhonElDeSistemas 3 месяца назад +7

    Me gusta como explican las cosas, gracias

    • @CodelyTV
      @CodelyTV  3 месяца назад +1

      Muchas gracias por el comentario. Ver que te ha resultado útil anima a seguir al pie del cañón, con lo que valoramos doblemente el tiempo que te has tomado en escribir el comentario 😊

  • @carlosabreu5012
    @carlosabreu5012 3 месяца назад +4

    Entendi el video al 100%. Esto es relativo y depende mucho de los casos de usos.
    Muchas gracias chicos! excelente contenido.

    • @CodelyTV
      @CodelyTV  3 месяца назад

      Muchas gracias por el comentario. Ver que te ha resultado útil anima a seguir al pie del cañón, con lo que valoramos doblemente el tiempo que te has tomado en escribir el comentario 😊

  • @j.u.l.i.o.c.s.a.r
    @j.u.l.i.o.c.s.a.r 3 месяца назад +6

    Totalmente hermano, totalmente

    • @sergiosanchez3267
      @sergiosanchez3267 3 месяца назад

      Buena referencia

    • @CodelyTV
      @CodelyTV  3 месяца назад +2

      Según ChatGPT: "La frase "Totalmente hermano, totalmente" es una cita del programa de televisión argentino "Peter Capusotto y sus videos". Específicamente, esta frase es utilizada por uno de los personajes del show llamado "Pomelo", interpretado por el actor y comediante Diego Capusotto. Pomelo es una parodia de un rockero exagerado y sus frases y comportamientos se han vuelto icónicos en la cultura popular argentina." vamos muy perdidos, ¿o lo ha clavado? xD

    • @sergiosanchez3267
      @sergiosanchez3267 3 месяца назад +2

      @@CodelyTV Yo pensaba que era una referencia a Mr.Tartaglia y Mr.Empírico que dicen "Tal cual hermano, tal cual" y además en el vídeo les dabais un aire pero puede ser que sea como decís 😂

  • @franciscogarcialopez5738
    @franciscogarcialopez5738 3 месяца назад +10

    Imagino que es por simpificar el video pero el topic de las cache esta demasiado simplificado. Existen caches distribuidas, distintias politicas de cache (cache-aside, write through etc.. ), incluso las base de datos tienen mecanismos para cache. Ademas que el uso de la cache no siempre es positivo y si no se evaluan metricas como hit ratio la cache podria hacer mas mal que bien. Buen video pero me gustaria bajar a la reallidad a la gente, es un tema complejo y con este video dificilmente sabes ya como usar correctamente las cache.

    • @MrNidnan
      @MrNidnan 2 месяца назад

      Es por simplificar y por mencionar que tienen un curso donde explican más detalles sobre la caché. En ningún momento dicen que sea simple.

    • @franciscogarcialopez5738
      @franciscogarcialopez5738 2 месяца назад

      ​@@MrNidnanTiene sentido , gracias por la aclaración. Tampoco les acuso de que digan que sea simple pero que está resumido de una manera que puede parecer simple, en especial la parte del servidor. Estoy seguro que el curso merece la pena ya que es un tema muy interesante.

  • @imanolbracciale
    @imanolbracciale 3 месяца назад +1

    gracias !! Un contenido interesante y muy útil para uso real, sigan asi que se ganaron otro subscriptor

  • @carlosalbertobarriosbernal203
    @carlosalbertobarriosbernal203 2 месяца назад

    En qué lenguaje estan los cursos?

  • @luiscahuana310
    @luiscahuana310 2 месяца назад

    buen contenido, gracias

  • @angelitri
    @angelitri 3 месяца назад

    Entonces la aplicación está dentro de un servidor web como por ej, Apache y el proxy inverso puede ser un NGINX en otro ordenador (dentro de la misma LAN donde está el Apache ya que están en la misma organización) o incluso el NGINX puede estar instalado en el mismo ordenador que el Apache?

  • @enzoak4772
    @enzoak4772 2 месяца назад

    Se ganaron un subscriptor nuevo, excelente como explican y los gráficos ayudan mucho a la comprensión

  • @Investigadorinexperto-dt3ed
    @Investigadorinexperto-dt3ed 3 месяца назад

    que yt permita poner minicuestionarios, durante el video, interactivos o no, en contenido educativo, pero que permita retener la información del video de manera fluída

  • @agonzalezo
    @agonzalezo 2 месяца назад

    Excelente contenido y explicación, gracias 🎉

  • @juanpedrososa1118
    @juanpedrososa1118 3 месяца назад +1

    Muy buen contenido. Gracias por compartirlo

    • @CodelyTV
      @CodelyTV  3 месяца назад

      Muchas gracias por el comentario. Ver que te ha resultado útil anima a seguir al pie del cañón, con lo que valoramos doblemente el tiempo que te has tomado en escribir el comentario 😊

  • @daromacs
    @daromacs 3 месяца назад +1

    genial gracias! Una petición: sería genial si se pudiese a su manera explicaran qué es el caché, casos de uso, utilidad, etc. :)

    • @gedwardromo1025
      @gedwardromo1025 3 месяца назад

      No vas a llegar a entender todo con otro video, o bien tomas su curso o averiguas por tu cuenta los conceptos que no entiendas

    • @xoloitzcuint1391
      @xoloitzcuint1391 2 месяца назад +1

      No mmn lo explico en este video jajajaja

  • @nanashiwolff
    @nanashiwolff 3 месяца назад

    Muchas gracias por el video! Me encanto

  • @anthonymayronlopezoquendo1530
    @anthonymayronlopezoquendo1530 2 месяца назад

    Este tipo de contenido es lo que vale 👏👏👏

  • @axyLms
    @axyLms 2 месяца назад

    Muy buen contenido 👍🏻

  • @fredyjimenez4853
    @fredyjimenez4853 2 месяца назад

    Excelente video

  • @V100X
    @V100X 3 месяца назад

    Que buen video 🙌🏼

  • @leandropalavecino7179
    @leandropalavecino7179 3 месяца назад

    Siempre hay que tener cuidado de que no te cachen 🤪🤪😝🫵

  • @jmunozco
    @jmunozco 3 месяца назад

    Por qué uno de los 2 envejece y el otro no? xddd

    • @CodelyTV
      @CodelyTV  3 месяца назад

      ya sabes quién es humano y quién una IA xD

  • @plasmodiun1
    @plasmodiun1 3 месяца назад

    El tiempo de cache se reinicia si cierro el navegador?

    • @CodelyTV
      @CodelyTV  3 месяца назад

      Nope. Cuando usamos Cache-Control con max-age el tiempo de vida se calcula desde que se recibe la respuesta y no se reinicia 😊

    • @plasmodiun1
      @plasmodiun1 3 месяца назад +1

      ​@@CodelyTV Muchas gracias por la respuesta estoy implementando cache actualmnete en mi proyecto next me sirvio de mucho la info, gracias por el contenido.

  • @StaffyDoo
    @StaffyDoo 3 месяца назад

    “Catché”? Hum… será el “cache” de lo que hablan? 🤔

    • @CodelyTV
      @CodelyTV  3 месяца назад

      caché: Se usa en informática, como adjetivo invariable, para referirse a la memoria de rápido acceso, situada entre el procesador y la memoria principal: «Existen dos tipos de memoria caché: primaria y secundaria» (Pimentel Multimedia [Perú 1997]). También se emplea como sustantivo femenino: «Un genuino Pentium Pro, a 200 MHz de velocidad, con […] caché interna» (Mundo [Esp.] 13.4.1997). En este caso, es voz tomada del inglés cache (memory), con acentuación aguda por influjo del galicismo caché. En español se usan también, con este sentido, las expresiones antememoria o memoria intermedia.
      Es curioso, pero la propia RAE recoge el término. No obstante, bien podría haber sido un anglicismo como los muchos que decimos. Entendemos que es importante comunicarse con eficiencia y claridad. Lo intentamos. A veces nos sale y otras no 😬