No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
8 Hrs
31 Min
21 Seg

Caché vs. memoria

2/20
Recursos
Transcripción

Aportes 17

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Hilo de memes del caché 👇

Mis apuntes…

Cache
Es la forma en la que le digamos al navegador que nos traiga la última información guardada, es decir que si necesitamos algo de información simplemente envíe lo que tiene en cache.

default
no-store
reload
no-cache
force-cache
only-if-cache
Estos son todos los “condicionales” que el cache permite validar el “estado” de la información

Memoization (Si se escribe así!!)
Guardar los cálculos(”Peticiones” que ya hicimos para no repetirlos.

En resumen es:

Crear un objeto.
Preguntar si el objeto tiene la información que necesitamos
Si sí, usar la información
Si no, hacer el fetch y guardar la información en el objeto
Consideraciones importantes.

JavaScript únicamente guarda la información en tiempo de ejecución si esta información se hace reload se va a perder.

**Para nuestro proyecto, aplicaria un poco más el cache por el tema de la cantidad de imagenes que se cargan junto con con la vista completa de la misma, todavia no entiendo muy bien pero siento que seria menor carga para el navegador, el usuario y en un caso dado para el backen

recuerden no es lo mismo Memoization que Memorization

Puedo decir por mi experiencia que el memorization no es el ideal a la hora de hacer una single page application, o al menos en este caso. Cuando estuve haciendo mi proyecto del curso práctico de Consumo de API REST quise utilizar memorization y me di cuenta que al recargar las páginas quedaban en blanco a no ser que estuviese en el home.

Memoization no me parece recomendable con paginas que reciban datos en tiempo real

Clase 2: Caché vs. memoria

Cache

  • Su pronunciación en English - kaSH no le digan cache
  • Es la forma que el navegador que siempre nos traiga la última información del backend del API
  • Siempre nos dé la información que no de en cache

Propiedades

  • default -
  • no-store -
  • reload -
  • no-cache -
  • force-cache -
  • only-if-cached -

Memorization

  • Nosotros mismos podemos guardar las peticiones y solicitudes http para luego consumirlas.

Pasos

  • Crear un Objeto
  • Preguntar si el objeto tiene la información que necesitamos
  • Si la tenemos la podemos usar.
  • Si no está la información, hacemos el cálculo o volvemos a consumir el API
  • Solo se guarde hasta tiempo de compilación, ya que si recargas se vuela el cálculo o la petición

Posibles Problemas

  • Nosotros no sabemos si ha cambiado la información del backend.
  • Nosotros no sabemos si la cache o memorization está actualizada o des-actualizada.

Exactamente antes de comenzar estaba pensando repetir el curso pasado con la API de Platzi, y me surgió ésta misma pregunta: Cómo saber cuándo el backend (productos), ya no existe o ya no tiene el mismo número de productos.
Cómo reducir el tiempo de carga.

Consideraría utilizar chaché.

En las lecturas que encontré sobre este tema, leí que no es recomendable hacer “Memoization” en funciones que no seas “puras” (Functional Programming), es decir que es mejor hacerlo en funciones que siempre devuelven el mismo resultado cuando reciben el mismo argumento.

El caché puede ser buena opción porque el navegador ya trata de optimizarlo por defecto, así mientras el navegador mejora el funcionamiento de la página nosotros podemos optimizar otras partes de nuestro código, aunque también consideraría usar LocalStorage o SessionStorage…

Yo creo que en este caso, y mientras llega el 5g, lo más factible para usar en este proyecto es caché, pero con 5g no creo que se necesite nada de eso, porque la latencia ya no va a existir

Comiezo de Cache

Probablemente me equivoque pero voy con todo mi dinero a que la mejor sería caché.
Diría yo que sería la mejor porque de esa forma le vamos a permitir al usuario una navegación más ágil casi siempre, mientras que con memoization solo sería más ágil mientras use el sitio, si se le va luz pues F.
.
Estoy seguro? No sé, pero voy a confiar y encomendarme a Juandc para que todo salga bien

Para la aplicación de PlatziMovies usaría la estrategia de Memoization. Considero que no pueden haber grandes cambios en una sesión, por ende con consultar al backend una sola vez bastaría.

Posible solución:

Actualmente la aplicación Platzi Movies, la carga es aceptable demora un poco en la carga de imágenes por la calidad de las mismas. El uso de cache pude ser útil para ciertas secciones en la app que no cambian como lo es la búsqueda por categoría. En la sección del código que crea las películas por ser algo que varia constantemente es mejor el uso de memorización guardando los datos en un objeto que contenga la información y le póster de las películas

El de películas usaria el de cache ya que no creo que se agregen tantas peliculas por dia, en la parte de memory la usaria para un banco ya que normalmente cuando hay una transacción y esta es realizada y aun no carga con refrescar la pagina se ve el movimiento .

No tengo experiencia con ambas tecnologías, pero según lo explicado por el profe en clase podría decir que caché sería lo ideal para evitar la pérdida de datos al recargar la página con memorization, a no ser que se use localStorage.

con la API de movieDB usaria chache porque siento que no es indispensable saber que pelicula se encuentra en tendencia en cada momento