¿Cómo funciona el almacenamiento en caché de datos móviles?

Para considerar eso primero, necesitamos conocer los niveles de disponibilidad de datos:

  • Instalado: siempre ahí
  • Permanentemente en caché: descargado en el primer uso, mantenido hasta que el usuario lo actualice o elimine
  • Temporalmente en caché: almacenado en el directorio de caché, borrado periódicamente (por sistema o aplicación)
  • Nunca en caché: necesita internet para funcionar

El ejemplo de una aplicación llamada Monkey Write: Datos de estantería:
Cada aplicación tiene sus propias estrategias de cobro, por ejemplo, Twitter solo ha almacenado temporalmente en caché, como imágenes de perfil, tweets, medios adjuntos a los tweets y no almacena ninguna otra caché. El almacenamiento en caché almacena datos en la Tienda en la base de datos local:

  • Número fijo de registros
  • Eliminar los registros más antiguos para liberar espacio

y obtiene actualizaciones incrementales:

  • Recuento limitado
  • Más nuevo que cierto tiempo

Otro ejemplo sería Twitter nuevamente, que busca niveles:

  • Fotos de perfil almacenadas por separado
  • Obtener texto para tweets
  • Medios adjuntos, retweets, favoritos solo obtenidos al abrir tweets individuales

y sincronizando trabajos como este:

  • Sincronizar en la aplicación abierta
    (si la última actualización tenía más de 5 minutos)
  • Período de sincronización en segundo plano configurado por el usuario
  • Tire para actualizar
  • Los tweets abiertos se almacenan en caché, caducan en 5 minutos

Cuando redactas un nuevo tweet:

  • Guarda el borrador en la base de datos local
  • Publica en el servidor de inmediato
  • En caso de fallo, mostrar en la barra de notificaciones
  • También puede activar el reenvío desde la página de perfil

Exactamente como el almacenamiento en caché regular.

La aplicación móvil le pide algo al servidor, y en lugar de usar la respuesta cuando llega, registra la respuesta (y la pregunta, y algunos metadatos, como cuándo se hizo la pregunta y / o durante cuánto tiempo el servidor afirma que la respuesta es buena para ) La “grabación” se realiza agregándola a un caché. El caché puede ser archivos almacenados en la memoria, o en FLASH (o disco para un sistema no móvil), o alguna combinación.

La próxima vez que la aplicación móvil quiera hacer una pregunta, verifica si ya sabe la respuesta, si es así y la respuesta es “lo suficientemente fresca”, simplemente la usa. Si no, vuelve a preguntar al servidor. A veces se envía un resumen de la respuesta existente (normalmente una especie de hash o una marca de tiempo) y el servidor puede enviar la respuesta completa (si es nueva) o simplemente “sí, la respuesta que tiene es buena, continúe ”

Opcionalmente, si no puede obtener una respuesta (como si no tiene una conexión de red), usará respuestas obsoletas del caché. Esto es más común en aplicaciones móviles, pero no hay razón para que una computadora de escritorio (o computadora portátil) no pueda hacer lo mismo.

El resto son detalles. ¿Cuánto tiempo se almacenan las respuestas? ¿Cuánto espacio se puede usar? ¿Cómo y cuándo se eliminan? ¿Sabe el cliente que algunas operaciones invalidan algunas de las respuestas almacenadas en caché? ¿Sabe el servidor lo que el cliente ha almacenado en caché y envía notificaciones cuando se deben eliminar (o actualizar) las entradas de caché? ¿El cliente a veces solicita preguntas que cree que el usuario quiere pronto, pero aún no las ha solicitado?

El almacenamiento en caché puede ser bastante simple o bastante complejo. Puede tener enormes retornos de usabilidad / rendimiento, o tal vez casi ninguno dependiendo de los patrones de uso.