Optimisation des systèmes de flux et de suivi dans Firestore
Problèmes d'évolutivité avec la base de données en temps réel
Dans votre Dans votre précédente application de réseau social utilisant Firebase Realtime Database, vous avez rencontré des problèmes d'évolutivité dus aux éléments suivants :
Structure Firestore optimisée
Pour résoudre ces problèmes dans Firestore, considérez la base de données suivante structure :
Évolutivité améliorée
Cette structure permet une gestion efficace des abonnés et des publications :
Requête des publications des utilisateurs suivis
Requête des publications des utilisateurs suivis<code class="java">Query query = rootRef.collection("posts/" + uid + "/userPosts") .orderBy("date", Query.Direction.DESCENDING).limit(3);</code>Pour afficher les dernières publications dans le flux d'un utilisateur, vous pouvez utiliser la requête suivante :
Cette requête récupère les trois dernières publications de l'utilisateur spécifié (uid) et peut être utilisé de manière paginée pour un chargement continu.
Optimisation pour les gros volumes de publicationsPour optimiser la gestion des gros volumes de publications, envisagez de stocker les publications qui doivent être affiché dans le flux d'un utilisateur dans un document ou une sous-collection distinct pour cet utilisateur. Cela garantit une récupération efficace et évite le problème des nouveaux abonnés recevant tout le contenu précédemment publié.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!