Skip to content
现货手册 · 缓存模型 / TGEX KNOWLEDGE BASE

委托热数据缓存 ​

未完结(仍可能在簿或待撤)委托的热数据:按委托号主存,并按用户、交易对、客户端订单号建立索引。

类:MatchingEntrustDTOCache;值对象:MatchingEntrustDTO。

内部结构 ​

结构键 → 值用途
ENTRUST_CACHE委托 id → MatchingEntrustDTO主存
ENTRUST_TABLE(userId, symbol) → Set<MatchingEntrustDTO>按用户 + 交易对查当前委托
CLIENT_ORDER_IDclientOrderId + userId → 系统委托 id幂等与按客户端单号反查
THIRD_ENTRUST_CACHEtransactionType → Set<MatchingEntrustDTO>第三方撮合委托集合

委托对象常看字段 ​

字段含义
id撮合侧委托编号
partnerId / userId商户、用户
tradeId / symbol交易对
buyCoinId / sellCoinId买卖币种
status未成交 / 部分成交 / 完全成交 / 撤销中 / 已撤销
type / matchType买卖方向;限价 / 市价
price / count / amount委托价、量、总额
leftCount / completeCount剩余量、已成交量
completePrice / completeAmount成交均价、成交总额
fees 及相关抵扣字段手续费与平台币抵扣
clientOrderId客户端订单号
source来源

金额类字段在引擎内多为定点 Long(乘精度因子);amount / completeAmount 等为 BigDecimal。

生命周期 ​

  1. 下单受理:setMatchingEntrustDTO 写入主存与索引(有 clientOrderId 则登记映射)。
  2. 成交 / 部分成交:更新同一对象上的剩余量、状态、成交统计。
  3. 完全成交或撤单终态:removeMatchingEntrustDTO 从主存与索引摘掉。
  4. 交易对卸载:按 symbol 批量 removeEntrustBySymbol / removeThirdEntrustBySymbol。

订单簿持有挂单队列;本缓存持有委托业务态。比价时通过委托 id 回查本缓存更新账务与状态。见撮合主流程。同组:缓存总览、用户币币账户缓存。

TGEX · 交易所设计与业务流程