外观
合约手册 · 缓存模型 / TGEX KNOWLEDGE BASE
缓存总览
平台永续热路径的合约账户、持仓与未完结委托,落在合约撮合进程内存缓存;本分类按缓存拆开说明职责。分层见[系统架构](/pages/0802)。
工程侧重:coinex-contract-match 的 com.exch.contract.match.cache 包。运行中由开仓 / 平仓 / 强平 / 改账等事件改写;Redis 与 MySQL 是缓冲与落库,不替代内存权威态。
为什么单独成章
开仓、平仓与强平会反复提到「合约侧钱包」「持仓热数据」。把缓存拆出来,是为了回答:
- 权威态在哪个缓存?
- 和现货币币账户缓存如何分工?
- 标记价缓存在风控里起什么作用?
缓存一览
| 文档 | 类名(工程) | 主要职责 |
|---|---|---|
| 用户合约账户缓存 | UserContractAccountCache | 合约钱包可用 / 占用等;开仓占用、划转、强平改账 |
| 用户合约持仓缓存 | UserContractPositionCache | 持仓量、保证金占用、加减保证金 |
| (本页简述)用户状态 | UserContractStatusCache | 强平 / 清理等锁定态 |
| (本页简述)杠杆 | UserContractLeverCache | 用户杠杆与相关设置 |
| (本页简述)最新价 | MatchLastPriceCache | 最新成交 / 指数 / 标记,供引擎与扫描 |
| (本页简述)委托热数据 | MatchEntrustDTOCache 等 | 未完结委托 |
| (本页简述)费率等 | UserFeesCache 等 | 成交计费输入 |
委托工程侧还有交易对 / 用户等只读缓存,不是交易权威态。行情侧价格与会话缓存服务推送,不是用户钱包 SSOT。
和流程文档的关系
| 流程 | 主要碰到的缓存 |
|---|---|
| 开仓主流程 | 账户占用;委托热数据;持仓在成交后更新 |
| 平仓主流程 | 持仓可平;账户释放;委托热数据 |
| 强平与清算 | 状态锁定;持仓 / 账户;标记价缓存 |
| 保证金与资金协同 | 账户划转与加减保证金 |
一句话:账户与持仓缓存回答「钱和仓现在怎样」;价格缓存回答「风控与浮盈用什么价」。