【问题标题】:Firebase Unity Get Data too SlowFirebase Unity 获取数据太慢
【发布时间】:2020-12-14 23:31:21
【问题描述】:

我对在 unity 上使用 firebase 有疑问。

我的json是这样的

"-MOGcdnpalVOmnxvO8ma" : {
  "imdbID" : "tt12571792",
  "imdb_moviename" : "A Queen Is Born",
  "like" : 0,
  "myDbID" : 39,
  "poster" : "N/A",
  "title" : "A Queen Is Born",
  "type" : "series",
  "unlike" : 0,
  "year" : "2020–"
},

这个 json 的规则

{
  "rules": {
      "Movie": {
        ".read": true,  
            ".write": true,  
          ".indexOn": ["like"]
    }
  }
}

firebase 上有 4k 条记录。 我从统一调用此方法,但结果会在 2 分钟内出现。

public GetMovieList() { 
    if (movieDatabase==null){
            movieDatabase = FirebaseDatabase.DefaultInstance.GetReference("Movie");
    }
    List<Movie> movies = new List<Movie>();

    movieDatabase.OrderByChild("like").LimitToLast(10).GetValueAsync().ContinueWith(task =>
    {
        if (task.IsFaulted)
        {
            Debug.Log(" Task Fail");
            
        }

        if (task.IsCompleted) {
            Debug.Log("Task OK");
            DataSnapshot snapshot = task.Result;
            foreach (DataSnapshot movierec in snapshot.Children)
            {
                Movie m = MovieParse(snapshot, movierec);
                movies.Add(m);
            }
        }
    });     
}

【问题讨论】:

  • API 中没有任何内容会影响该性能。但如果这是您第一次与数据库交互,您可能正在查看建立初始连接所需的时间。再次尝试时,数据加载速度(快得多)吗?
  • 现在工作正常。我认为,正如你所说,第一次互动很慢。非常感谢您的帮助

标签: c# unity3d firebase-realtime-database


【解决方案1】:

API 中没有任何东西会影响该性能。

但如果这是您第一次与数据库交互,您可能会查看建立初始连接所需的时间。如果是这种情况,后续加载应该会快很多。

无论哪种方式,都值得使用tracert 之类的工具检查从您的系统到数据库的连接(通常是https://&lt;yourprojectname&gt;.firbaseio.com/)。

【讨论】:

    猜你喜欢
    • 2018-08-06
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 2023-03-15
    • 2022-01-03
    • 1970-01-01
    • 2017-12-20
    • 2021-01-12
    相关资源
    最近更新 更多