更新数据库后只有几笔数据变化时,如何重新加载可变数据? (iOS)
How is mutable data reloaded when only several amounts of data changes after updating the database? (iOS)
每次显示视图控制器时,我都会从服务器重新下载大约 200 条记录,因为我需要显示与 200 位客户的余额相关的最新信息。每条记录还包含有关客户的其他详细信息,这些详细信息也可能发生变化。
我首先想到的是每次更改客户数据库中的值时创建一个哈希服务器端,然后每次我要求在客户端显示客户数据库时返回该值。我会将其存储在本地,在从服务器重新下载数据库之前,我会快速检查一下哈希值是否匹配 - 并且仅在哈希值不匹配时才重新下载。
我觉得这很低效 - 虽然比我目前的情况好一点,因为散列有助于避免多次重新下载,但客户记录可能一直在变化 - 大约每小时 2-3 条记录.
无需重新下载整个数据库即可更新客户端数据库的最佳方法是什么?
为每个 table 更新获取并保存服务器时间,当您想检查服务器中的更新时,您需要将此服务器时间与请求一起发送,然后服务器将向您发送任何更新的数据在您发送到服务器的时间戳之后更新。获得数据后,如果该记录已经存在,则需要更新,否则插入。希望这对你有帮助。
每次显示视图控制器时,我都会从服务器重新下载大约 200 条记录,因为我需要显示与 200 位客户的余额相关的最新信息。每条记录还包含有关客户的其他详细信息,这些详细信息也可能发生变化。
我首先想到的是每次更改客户数据库中的值时创建一个哈希服务器端,然后每次我要求在客户端显示客户数据库时返回该值。我会将其存储在本地,在从服务器重新下载数据库之前,我会快速检查一下哈希值是否匹配 - 并且仅在哈希值不匹配时才重新下载。
我觉得这很低效 - 虽然比我目前的情况好一点,因为散列有助于避免多次重新下载,但客户记录可能一直在变化 - 大约每小时 2-3 条记录.
无需重新下载整个数据库即可更新客户端数据库的最佳方法是什么?
为每个 table 更新获取并保存服务器时间,当您想检查服务器中的更新时,您需要将此服务器时间与请求一起发送,然后服务器将向您发送任何更新的数据在您发送到服务器的时间戳之后更新。获得数据后,如果该记录已经存在,则需要更新,否则插入。希望这对你有帮助。