gpt4 book ai didi

json - 有没有办法阻止 Firebase 实时数据库下载 JSON 项目名称?

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:06 26 4
gpt4 key购买 nike

基本上我有一个排行榜,显示前 50 名玩家的分数。遵循 Firebase 的最佳实践指南,我将数据展平并将排行榜分数与玩家数据分开存储。然而,数据下载比我预期的要高(50 分 3.62kb)。这是其中一个分数条目的示例。

    "wgstgJIaVcbdOFvTLIk0VyhO77" : {
"display_name" : "FakeName7",
"high_score" : 4
},

我认为数据使用来自用户 ID (wgstgJIaVcbdOFvTLIk0VyhO77) 这实际上不需要下载,但我需要将它保留在那里,因为我在我的安全规则中使用它以允许您只更新您的分数.显示名称也不是唯一的,所以我不能将其用作键。

我知道使用较短的键名 (display_name -> n) 也会有所帮助。

  Path         │ Total   │ Count │ Average │
├──────────────┼─────────┼───────┼─────────┤
│ /leaderboard │ 3.62 kB │ 1 │ 3.62 kB

如果有人有更好的方法来构建此类数据,我会洗耳恭听。

最佳答案

Firebase 的 API 响应采用 JSON 格式(正如您最初的问题明确指出的那样),并且提供键和值是 JSON 规范的一部分。理论上有一种 BJSON 格式(二进制 JSON),它可以在传输和存储中节省大量空间,但您无法控制 Firebase 的 API 使用什么格式。

  • 你唯一的选择是缩短键名,而我强烈建议您谨慎对待任何缩短某些属性值的尝试,例如,用户 ID 值(例如,尝试实现整数ID 等),因为这可能会带来安全隐患。
  • 要考虑的另一件事 - 如果您碰巧有 UTF-8 代码点(非拉丁语字符)在你的数据值中,它们将被编码为 JSON 和它们的编码表示将占用更多空间。
  • 如果您需要更“紧凑”的 API 响应,您应该考虑不同的使用 RESTful API 的后端实现。请记住,Firebase 有很多限制。容易上手,但很难实现更复杂的数据检索逻辑。

最后但同样重要的是 - 即使在慢速连接下,50 分的 3.62kb 也相当不错。问问自己,花太多时间进行微优化是否值得。

关于json - 有没有办法阻止 Firebase 实时数据库下载 JSON 项目名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56306561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com