当更新数据库后只有少量数据更改时,如何重新加载可变数据? (iOS)
Posted
技术标签:
【中文标题】当更新数据库后只有少量数据更改时,如何重新加载可变数据? (iOS)【英文标题】:How is mutable data reloaded when only several amounts of data changes after updating the database? (iOS) 【发布时间】:2015-05-12 12:32:19 【问题描述】:每次显示视图控制器时,我都会从服务器重新下载大约 200 条记录,因为我需要显示与 200 个客户的余额相关的最新信息。每条记录还包含有关客户的其他详细信息,这些详细信息也可能发生变化。
我想到的第一件事是每次客户数据库中的值发生更改时创建一个哈希服务器端,然后每次我要求客户数据库显示在客户端时都会返回该哈希值。我会将其存储在本地,在从服务器重新下载数据库之前,我会快速检查哈希是否匹配 - 并且仅在哈希不匹配时重新下载。
我觉得这效率低下 - 虽然比我目前的情况好一点,因为哈希有助于避免多次重新下载,但客户记录可以随时更改 - 例如每小时左右 2-3 条记录。
在无需重新下载整个数据库的情况下更新客户端数据库的最佳方法是什么?
【问题讨论】:
【参考方案1】:为每个表更新获取并保存服务器时间,当您想检查服务器中的更新时,您需要将此服务器时间与请求一起发送,然后服务器将向您发送在时间戳之后更新的任何更新数据你发送到服务器。一旦获得数据,如果该记录已经存在,则需要更新,否则插入。希望这对您有所帮助。
【讨论】:
它确实有帮助。前几天我意识到这种方式是解决问题的好方法。当update_at
字段就足够时,我最初只是让问题复杂化。我还记得问过这样的问题,并认为我会将其标记为已回答:p以上是关于当更新数据库后只有少量数据更改时,如何重新加载可变数据? (iOS)的主要内容,如果未能解决你的问题,请参考以下文章
当方法执行更新时刷新延迟加载的 Primefaces 数据表
列表数据更改时更新Android ListActivity?
当我动态更改其框架时,即使重新加载后 UITableView 内容大小也不会更新
(自动)在 tabbar1 中更新数组后,在 Tableview(tabbar2) 上重新加载数据(无需更改 tabbars)