iPhone/Sqlite - 如何仅从服务器获取更改的数据?
Posted
技术标签:
【中文标题】iPhone/Sqlite - 如何仅从服务器获取更改的数据?【英文标题】:iPhone/Sqlite - how to get only changed data from server? 【发布时间】:2010-01-15 09:33:31 【问题描述】:我正在服务器上生成一个相当大的 sqlite 文件(大约 30'000 个条目,大约 3mb 大)并且想在我的 iPhone 应用程序中使用该数据。
服务器上的 sqlite 文件每小时生成一次;有些数据几乎每次都在变化,有些数据很少变化。
有没有办法只将更改的数据发送到 iPhone,因为我不想让用户每次使用应用程序时加载 3mb。
我该怎么做才能只将数据发送给自上次请求后发生更改的客户?有什么想法吗?
【问题讨论】:
【参考方案1】:为每个请求数据的 iPhone 保留一个时间戳,然后使用它来确定自 iPhone 上次请求以来哪些行发生了变化。
或者,iPhone 可以在下次请求时发送上次请求数据的时间戳。
您还需要为数据库中的每一行存储一个最后更新的时间戳,这样您就可以确定自 iPhone 上次询问以来哪些时间戳发生了变化。
【讨论】:
谢谢理查德,这是一个很好的起点。所以在我的应用程序包中,我提供了数据库的起点,我总是知道服务器上哪些数据发生了变化。但是然后我必须使用 sqlite 文件(一个在服务器上,一个在客户端上) - 用服务器上的必要行更新 iphone-sqlite-db 的最佳方法是什么? 一种方法是在服务器上生成一个包含更改/更新数据的 CSV 文件。然后在 iphone 上读取这个文件并将每一行插入到 iphone 的数据库中。以上是关于iPhone/Sqlite - 如何仅从服务器获取更改的数据?的主要内容,如果未能解决你的问题,请参考以下文章