4

我正在开发一个依赖于 MySQL 数据库来获取部分内容的应用程序。在某些情况下,应用程序将在互联网连接 (UMTS) 受限的环境中运行,尤其是存在高延迟。

应用程序的用户能够登录,并且应用程序用户界面的大部分内容是从 MySQL 数据库中检索的。为了防止用户登录后出现延迟,我想在客户端缓存尽可能多的数据库内容。只有在进行了相关更改时才应从数据库中检索新内容。有没有解决这个问题的通用方法?有没有描述这个问题的可靠解决方案的文献?


小更新:我现在正在研究 CouchDB 作为我特定用例的解决方案。主要原因是:

它允许用户和服务器在断开连接时访问和更新相同的共享数据,然后在以后双向复制这些更改。

(来自:http ://couchdb.apache.org/docs/overview.html )

到目前为止,它看起来真的很有希望。

4

2 回答 2

4

我们实际上运行数据库的本地副本,并且大多数软件只与始终可用的本地数据库通信。然后我们有一个后台进程,可以使两个数据库保持同步。

我会警告你,任何类型的本地缓存都不适合胆小的人。有很多方法可以使其不同步。如果可以,请避免这样做。

于 2010-02-07T18:39:38.853 回答
0

我不确定这是否是常见做法,但您可以将缓存的数据写入客户端将缓存的 JavaScript 文件。然后,您可以进行 Ajax 调用以查看是否有任何更改......这将是一个小请求。如果没有更改,请使用缓存的数据。

于 2010-02-07T18:41:35.573 回答