Firebase Firestore의 오프라인 캐시를 설정하거나 제거하는 방법
개시하다
Firestore 캐시 주위의 메모입니다.
Firestore 캐시 설정
오프라인 캐시를 설정하려면
enablePersistence()
를 사용합니다.또한 전달
synchronizeTabs: true
을 통해 여러 탭도 데이터를 동기화할 수 있다.await firebase.firestore().enablePersistence({synchronizeTabs: true});
var db = firebase.firestore();
...
이렇게 하면 매번 데이터를 얻을 때마다 데이터를 캐시한다.indexedDB의
remoteDocuments
에 캐시되어 있습니다.Firestore 캐시에서 데이터 가져오기
캐시에서 데이터를 가져오려면 get에서 지정하십시오
source:'cache'
.var user = await db.collection('users').doc(user_id).get({
source: 'cache',
});
console.log(user.metadata.fromCache); // true
캐시에서 얻을 수 있다면 fromCache
의 값은 true
이다.또 처음에는 캐시가 없기 때문에 오류가 발생할 수 있다.
이런 상황에 대한 대책으로는 먼저
cache
부터 얻고 실패할 때try~catch로 보충한 다음server
부터 얻는 방법도 있다.var ref = db.collection('users').doc(user_id);
try {
this.user = await ref.get({
source: 'cache',
});
}
catch (e) {
this.user = await ref.get({
source: 'server',
});
}
캐시가 있을 때는 캐시에서 데이터를 얻고, 캐시가 없을 때는 서버에서 데이터를 얻기 때문에 신뢰할 수 있는 데이터를 얻을 수 있다.Firestore 캐시 지우기
실행
clearPersistence()
은 indexedDB에 저장된 캐시를 지울 수 있습니다.firebase.firestore().clearPersistence();
var db = firebase.firestore();
...
firestore()
를 실행하기 전에 실행하지 않으면 오류가 발생할 수 있습니다.끝말
정보가 매우 적기 때문에, 나는 스스로 총결산하였다.
이 일대에서는 인터페이스와 파라미터의 내용이 자주 변화하기 때문에 사용하기에는 여전히 위험할 수 있다.
Reference
Reference
이 문제에 관하여(Firebase Firestore의 오프라인 캐시를 설정하거나 제거하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/phi/articles/firebase-firestore-enable-offline-cache텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)