簡體   English   中英

iOS 使用realm做緩存效率高嗎?

[英]iOS Is it efficient to use realm for cache?

現在我的項目實現為本地文件存儲。 重構項目,我使用 realm 進行緩存。 通過緩存實現realm,我緩存下一個view controller的數據。但是realm在Main Thread中運行。 每次我進入下一個視圖 controller,Main Thread 都處於活動狀態。(讀,寫.. CRUD)我想知道這是一種有效的方式還是資源密集型操作。 使用 Realm 進行緩存是一種好習慣嗎?

本地 FileManager 緩存 -> Realm 緩存

Realm 默認在主線程上運行,如果同時發生大量讀寫操作,這可能會成為問題,因為這會導致主線程阻塞並導致糟糕的用戶體驗。 不過Realm也支持后台線程,可以讓你在后台線程上進行讀寫操作,這樣就可以保持主線程的響應。 使用后台線程對Realm進行操作,可以很好的解決這個性能瓶頸,提升用戶體驗。 另一個需要考慮的重要因素是需要緩存的數據大小。 Realm 可以處理大量數據,但如果您的緩存非常大,使用不同的解決方案可能更有效,例如基於文件的緩存。

Realm 的緩存機制是內置的,與基於文件的存儲不同,它可以更有效地處理具有高讀寫比的數據,您必須手動處理緩存機制。Realm 可以很好地解決 iOS 中的數據緩存問題,但了解使用它的限制和權衡很重要,尤其是在性能和數據大小方面。我建議您分析您的應用程序並衡量不同解決方案的性能,然后選擇最適合您需求的解決方案。

希望對您有所幫助,如果您有任何其他問題,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM