外观
现货手册 · 缓存模型 / TGEX KNOWLEDGE BASE
缓存总览
平台现货热路径的权威可用/冻结与未完结委托,落在撮合进程内存缓存;本分类按缓存拆开说明结构与职责。
工程侧重:coinex-match 的 com.exch.matching.cache 包。初始化时装入或按需补齐,运行时由下单 / 成交 / 撤单 / 外部事件改写;Redis 缓冲与 MySQL 落库是旁路,不替代本页所述内存权威态。
为什么单独成章
下单主流程与撮合主流程会反复提到「撮合侧钱包」「委托热数据」。把缓存模型拆出来,是为了回答:
- 权威态存在哪张表 / 哪个 Map?
- 键是什么、值里有哪些字段?
- 谁写入、谁读取、和账务服务如何分工?
缓存一览
| 文档 | 类名 | 主要职责 |
|---|---|---|
| 用户币币账户缓存 | UserBBAccountCache | 可用 / 冻结权威态;下单冻结、成交划转、撤单解冻 |
| 委托热数据缓存 | MatchingEntrustDTOCache | 未完结委托热数据与索引 |
| 交易对缓存 | TradeCache | 总交易对与商户交易对规则 |
| 用户状态缓存 | UserStatusCache | 用户是否可交易 |
| 用户手续费缓存 | UserFeesCache | VIP 等级与买卖费率 |
| 平台币抵扣缓存 | UserDeductionFeesCache | 用户是否开启抵扣、商户抵扣规则 |
| 最近成交价缓存 | MatchingLastPriceCache | 交易对最近成交价(撮合参考) |
| 商户分成比例缓存 | PartnerExtractRateCache | 商户手续费分成比例 |
| 币种计价缓存 | CoinCnyPriceCache | 币种对法币/计价参考价 |
| 高频手续费缓存 | HfTradeFeeCache | 指定交易对卖单手续费递增 |
| 下单等待缓存 | BasicFutureCache | 同步 RPC 等待撮合受理结果 |
CacheViewService 仅用于运维/联调查看 VIP 相关缓存,不单独成文。
和流程文档的关系
| 流程 | 主要碰到的缓存 |
|---|---|
| 撮合初始化链路 | 交易对、手续费、抵扣、最近价;恢复委托时补账户与委托热数据 |
| 下单主流程 | 预检读账户缓存;受理时写账户 + 委托热数据 |
| 撮合主流程 | 冻结 / 成交 / 撤单改账户与委托;更新最近价 |
| 委托查询主流程 | 读委托热数据;历史走冷库 |
| 充提改账协同 | 改账事件写账户缓存 |
| 手续费计费落地 | 读费率类缓存;成交写账户暂存字段 |
一句话:规则类缓存回答「能不能下、费率多少」;账户与委托缓存回答「钱和单现在怎样」。分层职责见系统架构。