【问题标题】:Firebase data comparison without waste of bandwidthFirebase 数据对比不浪费带宽
【发布时间】:2016-12-28 15:14:56
【问题描述】:

是否可以在不从数据库中下载实际的 base64 字符串的情况下检查手机上的 base64 字符串是否与 firebase 数据库中的不同?

另外,如果这不可能,是否可以与 firebase 存储中的图像文件进行类似的比较?

谢谢!

【问题讨论】:

  • 我相信,firebase 会存储本地信息,当它没有连接时,您的应用程序可以访问这些信息,如果您指的是它,它会在它有连接时与它的远程版本同步。
  • 您通常会比较客户端和存储层之间的哈希值来完成此操作。所以:1)计算图像客户端的哈希值,2)检查数据库/存储中是否已经存在具有该哈希值的节点/文件,3)如果不存在则添加节点/文件。
  • 这是XY problem。这将有助于在这里陈述真正的目标,我们可以解决这个问题。如前所述,最好的选择是存储哈希值并进行比较。

标签: android firebase firebase-realtime-database firebase-storage


【解决方案1】:

1) 在数据库中:必须下载 base64 字符串并进行比较,或者存储哈希值并进行比较。附带说明一下,请不要将文件存储在数据库中,它的效率不是很高,而且比使用存储要贵得多。

2) 在存储中:Get the file metadata 并比较文件哈希(crc32c 和 md5 都可用)。这样您就不会下载整个对象来进行比较。

【讨论】:

    猜你喜欢
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多