在 Flutter 中禁用 firestore 上的缓存

Blo*_*oss 5 dart firebase flutter google-cloud-firestore

如何禁用从 firestore 上的缓存获取/流数据?

我看到了这篇文章。该功能默认启用PersistenceEnabled

这样是不是就可以清除缓存了?

void main() async {
  await Firebase.initializeApp();
  await FirebaseFirestore.instance.clearPersistence();
Run Code Online (Sandbox Code Playgroud)

或者

是否需要添加到每个查询中?

  Future<List<BookModel>> _getBooks() async {
    await FirebaseFirestore.instance.clearPersistence();
    return _db.collection('books')...  
    }
Run Code Online (Sandbox Code Playgroud)

或者

如何始终禁用 firestore 上的缓存?

这是对的吗?

void main() async {
  await Firebase.initializeApp();
  FirebaseFirestore.instance.settings = 
Settings(
persistenceEnabled: false,
cacheSizeBytes: ?,//is it need add this fields too?
host: ?,
sslEnabled: ?
Run Code Online (Sandbox Code Playgroud)

);

Fra*_*len 5

调用clearPersistence会清除本地缓存,但不会禁用它。因此,此后的任何数据库调用都将再次开始填充本地缓存。

要禁止客户端使用缓存,您需要persistenceEnabled在应用程序启动时设置为 false。