Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

219
Visualizações
Deshabilitar en ('valor') el almacenamiento en caché de la base de datos en tiempo real de Firebase JS SDK

Al colocar un escucha de base de datos en tiempo real:

 firebaseDb.ref(ref).on('value', (snapshot) => { console.log('snap', snap); const response = snapshot.val(); });

La instantánea se almacena en caché para un uso posterior sin conexión. Si ahora actualizo la página, mi console.log aparecerá dos veces en mi consola. La primera será la instantánea almacenada en caché, la segunda será la instantánea del servidor.

Mi aplicación es bastante compleja y solo para darle un ejemplo, he anidado el enlace de datos de la siguiente manera:

 const userBind = (userRef: string) => firebaseDb.ref(userRef).on('value', (snapshot) => { console.log('snap', snap); const user = snapshot.val(); store.commit(SET_USER, user); getUserFriends(user) }); const getUserFriends = await (user: User) => { const userFriends = async getUserFriendsData() // call our backend store.commit(SET_USER_FRIENDS, userFriends); };

Ahora, store.commit(SET_USER, user); se llama dos veces, así como getUserFriendsData() que comienza a ser un problema de rendimiento. Creo que mi mejor opción aquí sería deshabilitar el almacenamiento en caché de la base de datos en tiempo real.

Sería bueno tener una función similar a la del SDK de Android: FirebaseDatabase.getInstance().setPersistenceEnabled(true);

¿Qué piensan ustedes?

Saludos cordiales, Florián.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Desafortunadamente, el comportamiento fuera de línea en Realtime Database está "construido" sin mucho control sobre cómo funciona. Con Firestore , podría detectar con los metadatos si los datos provienen del caché o del servidor. Tal vez una migración a esa base de datos sería una solución.

Con Realtime Database, puede desconectarse del servidor con goOffline y volver a conectarse más tarde para guardar los datos en el servidor. Pero eso se siente como una solución desordenada. Al usar esto, solo recibiría datos del caché, pero tampoco podría obtener nuevos datos del servidor.

También puede optimizar la administración de su estado para que no se vuelva a procesar si recibe los mismos datos utilizando una comparación reducida de los datos que recibe y la estadística ya está almacenada.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda