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

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 มิ.ย. 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-cache
    ﹤🍍﹥ Codely
    ├ 🎥 Suscríbete: th-cam.com/users/CodelyTV?sub_co...
    ├ 🔖 Cursos: bit.ly/cursos-codely
    └ 👋 Redes sociales:
    ├ / codelytv
    ├ / javiercane
    ├ / rafaoe
    ├ / codelytv
    └ / codelytv
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 44

  • @gedwardromo1025
    @gedwardromo1025 9 วันที่ผ่านมา +10

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

  • @adan9975
    @adan9975 2 วันที่ผ่านมา

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

  • @brunocascio
    @brunocascio 6 วันที่ผ่านมา +4

    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)

  • @Investigadorinexperto-dt3ed
    @Investigadorinexperto-dt3ed 13 วันที่ผ่านมา +9

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

    • @CodelyTV
      @CodelyTV  13 วันที่ผ่านมา +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 😊

  • @enzoak4772
    @enzoak4772 6 วันที่ผ่านมา

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

  • @JhonElDeSistemas
    @JhonElDeSistemas 13 วันที่ผ่านมา +6

    Me gusta como explican las cosas, gracias

    • @CodelyTV
      @CodelyTV  13 วันที่ผ่านมา +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 13 วันที่ผ่านมา +3

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

    • @CodelyTV
      @CodelyTV  13 วันที่ผ่านมา

      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 😊

  • @imanolbracciale
    @imanolbracciale 12 วันที่ผ่านมา +1

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

  • @angelcareaga5028
    @angelcareaga5028 13 วันที่ผ่านมา +3

    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 12 วันที่ผ่านมา

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

    • @nunatix7985
      @nunatix7985 6 วันที่ผ่านมา +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 6 วันที่ผ่านมา

      @@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.

  • @agonzalezo
    @agonzalezo 7 วันที่ผ่านมา

    Excelente contenido y explicación, gracias 🎉

  • @nanashiwolff
    @nanashiwolff 8 วันที่ผ่านมา

    Muchas gracias por el video! Me encanto

  • @juliocsar5837
    @juliocsar5837 14 วันที่ผ่านมา +5

    Totalmente hermano, totalmente

    • @sergiosanchez3267
      @sergiosanchez3267 13 วันที่ผ่านมา

      Buena referencia

    • @CodelyTV
      @CodelyTV  13 วันที่ผ่านมา +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 13 วันที่ผ่านมา +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 😂

  • @axyLms
    @axyLms 6 วันที่ผ่านมา

    Muy buen contenido 👍🏻

  • @V100X
    @V100X 8 วันที่ผ่านมา

    Que buen video 🙌🏼

  • @juanpedrososa1118
    @juanpedrososa1118 13 วันที่ผ่านมา +1

    Muy buen contenido. Gracias por compartirlo

    • @CodelyTV
      @CodelyTV  13 วันที่ผ่านมา

      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 😊

  • @fredyjimenez4853
    @fredyjimenez4853 7 วันที่ผ่านมา

    Excelente video

  • @daromacs
    @daromacs 13 วันที่ผ่านมา +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 9 วันที่ผ่านมา

      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

  • @angelitri
    @angelitri 10 วันที่ผ่านมา

    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?

  • @carlosalbertobarriosbernal203
    @carlosalbertobarriosbernal203 2 วันที่ผ่านมา

    En qué lenguaje estan los cursos?

  • @plasmodiun1
    @plasmodiun1 13 วันที่ผ่านมา

    El tiempo de cache se reinicia si cierro el navegador?

    • @CodelyTV
      @CodelyTV  13 วันที่ผ่านมา

      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 13 วันที่ผ่านมา +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.

  • @Investigadorinexperto-dt3ed
    @Investigadorinexperto-dt3ed 13 วันที่ผ่านมา

    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

  • @leandropalavecino7179
    @leandropalavecino7179 9 วันที่ผ่านมา

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

  • @franciscogarcialopez5738
    @franciscogarcialopez5738 13 วันที่ผ่านมา +6

    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 7 วันที่ผ่านมา

      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 6 วันที่ผ่านมา

      ​@@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.

  • @jmunozco
    @jmunozco 13 วันที่ผ่านมา

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

    • @CodelyTV
      @CodelyTV  13 วันที่ผ่านมา

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

  • @StaffyDoo
    @StaffyDoo 13 วันที่ผ่านมา

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

    • @CodelyTV
      @CodelyTV  13 วันที่ผ่านมา

      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 😬

  • @e.s.c3238
    @e.s.c3238 13 วันที่ผ่านมา

    en python se puede calcular el sha256 con el modulo hashlib por ejemplo
    from hashlib import sha256
    with open("./archivo", "rb") as fp:
    result_sha256 = sha256(fp.read())
    print(result_sha256.hexdigest())