-1

jquery+html5でクライアントアプリを開発しています

データをファイル (70 MB) に保存します

data.json :

var myData = [
    {
      "id":"000000001",
      "title":"title1",
      "contents": [
               {"title":"title11", "description": "description", "text":"textextxxxxxxxx"}
               {"title":"title12", "description": "description", "text":"textextxxxxxxxx"}
               {"title":"title13", "description": "description", "text":"textextxxxxxxxx"}
      ]

    }
,.........
,.........
70Mb
]

//Application read this file and show "values" on console :
var data = myData
jQuery.each(data, function(){
           iterObject(this)
           })

iterObject : function(obj){
            var self = this
            $.each(obj, function(key, value) {
                if((typeof value) == 'object'){
                    self.iterObject(value)
                }
                else {
                   console.log(value)
                }
            })
}

問題は、動作が非常に遅いことです

大きなオブジェクトをすばやく読み取るための最良の方法は何ですか?

ありがとう

4

1 に答える 1

2

大きなオブジェクトをすばやく読み取るための最良の方法は何ですか?

最良の方法は、それを分割することです。現在、ファイル全体をメモリにロードする必要がありますが、これは非常にリソースを消費します。

代わりに、あなたの「オブジェクト」は実際にはリストであり、オブジェクトが必要なため、チャンク(たとえば、1 行に 1 つの JSON)に分割して 1 つずつ読み取ることができます。

つまり、負荷を分割し、すべてを一度に読み込まないでください。

編集:クライアントにロードしていることに気付きました。キャッシングを検討してください。その間に変更がなかった場合は、既に持っているものをロードしないでください。

于 2012-11-16T15:25:57.233 に答える