## ADDED Requirements ### Requirement: 刷新接口双写 系统应当在刷新接口中实现 Redis 和 MySQL 的同步双写,保证数据一致性。 #### Scenario: 刷新接口双写成功 - **WHEN** 用户调用刷新接口更新行情数据 - **THEN** 系统先删除 Redis 缓存,再写入 MySQL,最后更新 Redis 缓存 #### Scenario: MySQL 写入失败 - **WHEN** 刷新接口写入 MySQL 失败 - **THEN** 系统返回错误响应,不更新 Redis 缓存,保证数据一致性 #### Scenario: Redis 写入失败 - **WHEN** 刷新接口写入 MySQL 成功但 Redis 写入失败 - **THEN** 系统返回成功响应(MySQL 数据已持久化),输出 Redis 写入失败警告日志 ### Requirement: 双写顺序保证 系统应当保证双写的顺序:先写 MySQL,再更新 Redis。 #### Scenario: 双写顺序 - **WHEN** 刷新接口执行双写 - **THEN** 系统先写入 MySQL 并确认成功,再更新 Redis 缓存 ### Requirement: 缓存回填一致性 系统应当在缓存未命中回填时保证回填数据与 MySQL 数据一致。 #### Scenario: 缓存未命中回填 - **WHEN** Redis 缓存未命中且从 MySQL 读取数据 - **THEN** 系统将 MySQL 数据回填到 Redis,TTL 设置为 30 天