2013-08-03 53 views
0

我有一個從MySQL數據庫讀取的歌曲和歌手信息的應用,並在ListView控件顯示它...我的問題(一個或多個)如何從聯機數據庫緩存retrived數據?

  1. 是一個好主意緩存用戶已經獲取這樣的數據他不需要每次都檢索它?
  2. 如果這是一個好主意(如果只給出提示),那該怎麼做?
  3. 之間如何什麼已經緩存的,什麼是需要從mysql的
+0

由於問題標題中顯示「來自在線DataBase?」,我假設您通過使用API​​訪問數據?或者你真的在談論設備本身的SQLite數據庫嗎? –

+0

是MySql通過PHP – sleepless

回答

0

它總是一個好主意,緩存值從外部來源的,因爲它會降低應用程序需要顯示他們時檢索匹配。

這可以用多種方式實現。通常說:

  • 二進制數據(例如圖像)應緩存在內部/外部存儲。見"Caching Bitmaps"
  • 文本數據(例如文章)應在內存中緩存(例如,在一個Map

也就是說,高速緩存系統的重要和複雜的部分是確定的,當一個高速緩存的值是不再「新」夠了。在選擇的具體標準取決於應用程序和個人品味,這裏有一些一般提示:

  • 數據的年齡(你可以給與HTTP Response-Header Expires服務器端提示)
  • 數據的優先級。數據越重要,它應該是最新的。
  • 任何變化的可能性。對文章的評論比文章本身更容易改變。

一個很好的實現是隻委託所有的網絡請求緩存感知的方法/類(從上面的提示來實現),那麼這將在需要時請求在第一做決定放置並返回新鮮或緩存的數據。

+0

這一切我都需要謝謝你 – sleepless

+0

你應該接受/ upvote然後。 –