[]
        
(Showing Draft Content)

【示例解读】热数据缓存Demo

type=info

推荐

请下载示例后使用活字格设计器打开,对照本页面的解读,深入了解详情。

热数据缓存通常保存在数据库中,通常使用【事务命令】来确保热数据缓存和单据之间的数据一致性。


热数据缓存DEMO-v9.fgcc


示例展示了利用热数据缓存表“在库库存”快速完成库存查询。相比于通过对出入库和盘点单据进行加总计算的方式,热数据缓存可以通过读写分离,大幅降低数据库查询的性能负担。

  • 查询时,从热缓存表中查询。Demo:服务端命令“QueryCurrentStock”

    • 缓存表通常“读多写少”,建议为所有作为查询条件的列创建索引

    • 在存储空间允许的前提下,缓存表可适当放宽对数据库设计范式NF1的要求,通过添加冗余字段来进一步提升数据查询速度

  • 业务数据更新时,同步更新缓存。Demo:服务端命令“CreateOutputRecord”

    • 热数据缓存和业务单据存放在同一个数据库,在执行更新操作时启用事务

    • 一个业务单据有可能会关联多个数据缓存,可以在活字格设计器中右键点击缓存表中的字段,选择【查找所有引用】,了解其中的关联关系。

  • 维护时,定时(如每周选择一个空闲时间)检查更新数据缓存,再次确保数据一致性。Demo:定时任务“对账:在库库存”(仅展示框架,没有实现具体逻辑)