我正在構建一個應用程序,需要從許多http源收集數據。有些時候,這些來源的數量可能會達到700個,總共有35 MB。處理iOS上的核心數據數據庫頻繁更新和請求的最佳做法?
爲了避免每次需要下載數據並避免向用戶收取鉅額費用,我認爲最好將結果存儲到SQLite核心數據數據庫中,第一遍之後,然後根據需要在本地執行請求。
我不是在搜索最佳方式來避免在存儲下載的數據時發生崩潰。我使用具有多達7個http同時請求的操作隊列下載數據,並且我擔心在從2個線程同時訪問相同的管理對象上下文時可能會遇到崩潰,並且由於我們正在討論物理磁盤訪問以存儲在數據庫中,事情可能會變得複雜。
我只想知道一個很好的實踐來存儲這些類型的數據,然後在其中執行快速搜索,而不會讓應用程序由於多線程問題而一直崩潰。
預先感謝您。
謝謝。 2個併發HTTP請求?你有這個鏈接嗎?如果我有一個具有4個最大併發保持操作的操作隊列會發生什麼? – csotiriou
所以我想這實際上是根據這個限制的移動網絡。 「大多數移動網絡(3G)不允許來自給定IP地址的兩個以上併發HTTP連接。也就是說,從您的設備,您無法在3G網絡上打開兩個以上的併發HTTP連接,邊緣甚至更糟。在大多數情況下,不能打開多個連接,傳統家庭寬帶(Wifi)的這一限制相當高(六)。「在這裏找到。 http://blog.mugunthkumar.com/products/ios-framework-introducing-mknetworkkit/不確定有效性。 –
關於它是否有最多2個,你有4個預定,我會假設(如果網絡庫足夠聰明),它會將這些額外的請求保留在隊列中,直到它們可以被處理。 –