本地数据库缓存的最佳实践?

时间:2010-02-07 18:33:28

标签: mysql database-caching

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

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


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

  

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

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

到目前为止看起来很有希望。

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

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