去重、状态与缓存设计

建议 Key 草案

用途 示例 Key 过期影响
来源去重 signal:{source}:{eventID} 到期后历史事件可能再次接收
资产归并 asset:{chain}:{address}:{window} 允许新的观测窗口
任务缓存 task:{taskID} 缓存缺失时需有明确恢复来源
元数据缓存 metadata:{chain}:{address} 触发重新查询
执行锁 lock:{chain}:{account}:{intentID} 租约到期后其他 worker 可能领取

这些是命名建议,不代表现有 Key。

缓存与审计

Redis 在项目中用于短周期缓存和任务状态缓存。最终交易记录不能仅依赖会过期的状态 Key;具体持久化机制未提供,应补充恢复来源、保留周期与重建方式。

一致性边界

需要原子完成的领取或状态检查可通过明确的原子操作实现。跨 Redis 与节点提交没有天然原子事务,因此必须保留可恢复的提交记录,并通过链上查询收敛结果。

验证场景

Redis 暂时不可用、Key 到期、缓存淘汰、旧值覆盖与服务恢复。明确各场景是暂停执行还是允许降级,不能把缓存读取失败视为“从未执行”。