外观
现货手册 · 缓存模型 / TGEX KNOWLEDGE BASE
委托热数据缓存
未完结(仍可能在簿或待撤)委托的热数据:按委托号主存,并按用户、交易对、客户端订单号建立索引。
类:MatchingEntrustDTOCache;值对象:MatchingEntrustDTO。
内部结构
| 结构 | 键 → 值 | 用途 |
|---|---|---|
ENTRUST_CACHE | 委托 id → MatchingEntrustDTO | 主存 |
ENTRUST_TABLE | (userId, symbol) → Set<MatchingEntrustDTO> | 按用户 + 交易对查当前委托 |
CLIENT_ORDER_ID | clientOrderId + userId → 系统委托 id | 幂等与按客户端单号反查 |
THIRD_ENTRUST_CACHE | transactionType → 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。
生命周期
- 下单受理:
setMatchingEntrustDTO写入主存与索引(有 clientOrderId 则登记映射)。 - 成交 / 部分成交:更新同一对象上的剩余量、状态、成交统计。
- 完全成交或撤单终态:
removeMatchingEntrustDTO从主存与索引摘掉。 - 交易对卸载:按
symbol批量removeEntrustBySymbol/removeThirdEntrustBySymbol。
订单簿持有挂单队列;本缓存持有委托业务态。比价时通过委托 id 回查本缓存更新账务与状态。见撮合主流程。同组:缓存总览、用户币币账户缓存。