我有一个旧的客户端服务器系统,其中服务器维护一个存储在sqlite数据库中的一些数据的记录。该数据与监视存储在服务器上的文件的访问模式有关。客户端应用程序基本上是数据的远程查看器。启动客户端后,它将连接到服务器并从服务器获取数据以在网格视图中显示。数据在服务器上实时更新,客户端中的视图自动刷新。
目前的实施存在两个问题:
当数据库太大时,加载客户端需要花费大量时间。有什么方法可以解决这个问题。一种选择是在客户端维护缓存。如何最好地实现缓存?
服务器如何维护diff,以便它只在刷新周期内发送diff。可以有多个客户端,每个客户端都需要显示服务器上可用的最新数据。
服务器是一个Windows服务守护程序。客户端和服务器都是用C#
实现的答案 0 :(得分:0)
可以在数据上加上日期/时间戳(索引),然后加载数据>上次成功的时间戳。
在页面中加载数据,以便更快地启动,然后在后台加载其余数据。
答案 1 :(得分:0)
如果您选择“脱机工作”(缓存)解决方案,那么您应该查看MS ADO.NET Sync Framework。它支持提供程序并解决了同步数据的大部分难题。
另一个选项是仅检索选定的列,例如主键和单个描述性列。其余数据可以根据需要进行延迟加载,例如当它滚动到视图中或正在被访问时。