如何从在线数据库缓存检索数据?

时间:2013-08-03 22:41:44

标签: android

我有一个从Mysql DB读取歌曲和歌手信息的应用程序,并在listView中显示...我的问题

  1. 最好是缓存用户已经检索过的数据,这样他每次都不需要检索它吗?
  2. 如果这是一个好主意怎么做呢(只给我提示)?
  3. 如何在已缓存的内容和需要从Mysql中检索的内容之间进行匹配

1 个答案:

答案 0 :(得分:0)

缓存来自外部源的值总是一个好主意,因为它减少了应用程序显示它们所需的时间。

这可以通过多种方式实现。一般说:

  • 二进制数据(例如图像)应缓存在内部/外部存储上。请参阅"Caching Bitmaps"
  • 文本数据(例如文章)应该缓存在内存中(例如在Map中)

尽管如此,缓存系统的重要且棘手的部分是确定缓存值何时不再“新”。虽然选择具体标准取决于您的应用和个人品味,但以下是一些一般性提示:

  • 数据的年龄(您可以使用HTTP Response-Header Expires提供服务器端提示)
  • 数据的优先级。数据越重要,它应该是最新的。
  • 任何变化的可能性。对文章的评论比文章本身更容易发生变化。

一个很好的实现方法是将所有网络请求委托给一个缓存感知方法/类(从上面的提示中实现),然后这将决定是否需要在第一时间完成请求并返回新的或缓存数据。