簡體   English   中英

緩存 HTTP 響應或存儲在移動應用程序的數據庫中?

[英]Cache HTTP response or store in database in mobile apps?

為了獲得更好的用戶體驗,移動應用程序將數據存儲在客戶端(在設備上),以便在加載應用程序時提供即時信息,而無需等待來自互聯網的數據,即使設備離線也能提供數據。 當然,稍后會盡可能更新/獲取數據。

我正在構建一個應用程序(在顫振中),它是一個社交網絡/信息提要,例如應用程序:有用戶、個人資料、提要、帖子等。當用戶打開應用程序時,我想顯示上次可用的數據應用程序運行。

我的問題是實現緩存的正確方法是什么? 我能想到的主要方法有兩種,一種更容易/不確定的方法和一種更困難/穩定的方法,我想聽聽你對它們的看法。 我有時間/資源限制。 大多數信息是通過 HTTP 請求得到的,所以:

更簡單的方法:HTTP 緩存攔截

我會為我的 HTTP 客戶端使用開箱即用的緩存插件。 我想我可以緩存我(一段時間)發出的每個請求的響應,並依賴緩存的信息。 圖像也基於 url 進行緩存。 當我在應用程序加載時發出請求時,我會返回緩存的結果(如果有),如果是緩存命中,我會再次觸發請求,因此當您打開應用程序時,您會立即看到信息,但大約幾秒鍾后,您會也可以獲取最新數據。 這個解決方案的可用性取決於我設計我的 API 的程度。

更難:將數據存儲在結構化數據庫中。

這是我盡量避免的選項,因為它需要更多時間來實現。 它可以是 SQL 或文檔存儲,我必須實現緩存查找/保存/更新機制。 由於我只是在構建應用程序,我認為這會減慢我的速度,因為數據類型/架構可能仍會發生變化。 但這是通過移動端緩存實現 go 的終極方式嗎? 謝謝

我認為更簡單的方法是你最好的選擇,我唯一能想到的緩存可能是一個問題是如果你需要正確的關鍵數據而不是舊的緩存值,但是你可以通過不緩存來避免這個問題臨界值。

此外,如果您使用 firebase 它會進行一些可能有用的自動緩存。

暫無
暫無

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

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