1
0
几年前,我工作的一些DataSnap服务器不得不从非常慢的sqlserver7服务器中提取数据。然后,我基于TClientDataSets设计了一个服务器缓存“玩具”,其中“缓存提供者”连接到那些“服务器ClientDataSets”,后者依次从文件缓存或数据库中读取数据。 缓存是根据每个数据集的一组特定硬编码规则刷新的。当需要刷新缓存时,server ClientDataSet使用提供程序通过ADOQuery从数据库中提取数据,然后使用TClientDataSet的二进制格式将数据保存到app server磁盘。(它支持服务器实例之间的缓存共享)。 如果文件不存在,则尝试创建它,覆盖相同的毫秒大小写。 这是 不 一个24x7的应用程序,只是一种12x6:D。这个方法被证明是非常好的,我不记得在我维护代码的近3年时间里,这种粗鲁的同步有一次失败。。但你可能想创造一个更强大的机制。 当不需要刷新缓存时,数据只是从磁盘加载的。
所以,关系是这样的:
需要更新check和OpenDataSet的伪代码如下:
我已经没有访问代码了,当然我记不清每一个细节,很高兴目前的服务器非常好,速度足够快,不需要考虑这个了。。。霍普解释了它的工作原理。如果您需要澄清或进一步的帮助,请告知。 |
Some1Else · 函数在Delphi中重新创建TForm 2 年前 |
Agmcz · Delphi安卓库。so未安装(AAB) 2 年前 |
nader · 如何使用delphi在web上提交表单 6 年前 |
kwadratens · Delphi中的卡方分布函数代码 6 年前 |
user9672569 · 如何在完整的位图图像中绘制阴影效果? 6 年前 |
mmmm · MSBuild(用于Delphi)Make-like功能 6 年前 |