2 votes

Ajuster la taille du cache de Firestore avec AngularFire

J'essaie de trouver la meilleure façon d'activer la persistance Firestore et d'ajuster la taille du cache en utilisant AngularFire.

La documentation de Firebase suggère de procéder de la manière suivante :

firebase.firestore().settings({
     cacheSizeBytes: firebase.firestore.CACHE_SIZE_UNLIMITED
});

AngularFire ne mentionne pas l'ajustement de ces paramètres, mais en creusant dans le code, il semble que vous puissiez passer un objet de type "firebase.firestore.PersistanceSettings" en tant que tel :

AngularFirestoreModule.enablePersistence({
      experimentalForceOwningTab: true,
      synchronizeTabs: true,
}),

Cependant, ce sont les deux seules propriétés autorisées dans le type PersistanceSettings.

J'ai essayé de créer un constructeur dans app.module.ts et de faire les choses conformément à la documentation de Firebase, mais je ne suis même pas sûr que cela fonctionne.

export class AppModule {
  constructor() {
    firebase.firestore().settings({
      cacheSizeBytes: firebase.firestore.CACHE_SIZE_UNLIMITED,
    });
  }
}

Comment puis-je vérifier les paramètres de la taille du cache au moment de l'exécution ? Est-ce que je fais bien les choses ?

0voto

syslogic Points 749

CACHE_SIZE_UNLIMITED est -1 à fixer de préférence dans app.module.ts :

const settings: firebase.firestore.Settings = {
  cacheSizeBytes: firebase.firestore.CACHE_SIZE_UNLIMITED
};
firebase.firestore().settings(settings);

Il ne semble pas y avoir de méthode permettant de lire le fichier settings ... cacheSizeBytes est déjà connu.
Et on ne peut probablement pas changer la valeur de cacheSizeBytes non plus, une fois connecté.

0voto

En cherchant dans la documentation d'AngularFire, j'ai trouvé leur document liés au stockage hors ligne. Il explique comment activer la persistance des fichiers dans votre application et indique également que vous pouvez tester si un document est récupéré à partir du cache ou de Firestore à l'aide de la méthode d'évaluation de la persistance des fichiers. fromCache propriété.

Pour vérifier si vous recevez des données du serveur ou du cache, utilisez la propriété fromCache sur les SnapshotMetadata dans votre événement de cliché. Si fromCache est vrai, les données proviennent du cache et peuvent être périmées ou incomplètes. Si fromCache est false, les données sont complètes et actuelles avec les dernières mises à jour du serveur.

En ce qui concerne la définition de la taille du cache pour Firestore, il semble que la seule solution soit celle que vous avez essayée et qu'il s'agisse d'une variable définie dans l'instance de Firestore. propriétés . Voici des exemples complets tirés de la documentation relative à la définition de l'option taille du cache et permettant persistance .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X