## ADDED Requirements ### Requirement: Redis 缓存连接管理 系统应当提供 Redis 连接管理能力,包括连接初始化、健康检查和连接池管理。 #### Scenario: Redis 连接初始化成功 - **WHEN** 应用启动且 Redis 配置有效 - **THEN** 系统成功建立 Redis 连接并输出初始化成功日志 #### Scenario: Redis 连接初始化失败 - **WHEN** 应用启动但 Redis 服务不可用 - **THEN** 系统输出警告日志并标记 Redis 为不可用状态,但不阻止应用启动 ### Requirement: 行情数据缓存读取 系统应当优先从 Redis 读取行情数据,缓存未命中时回源 MySQL。 #### Scenario: Redis 缓存命中 - **WHEN** 用户请求行情数据且 Redis 中存在该数据 - **THEN** 系统直接从 Redis 返回数据,不访问 MySQL #### Scenario: Redis 缓存未命中 - **WHEN** 用户请求行情数据但 Redis 中不存在该数据 - **THEN** 系统从 MySQL 读取数据,回填到 Redis(TTL 30 天),并返回数据 ### Requirement: Redis 缓存 TTL 管理 系统应当为缓存数据设置 30 天过期时间,过期后自动清理。 #### Scenario: 缓存数据过期 - **WHEN** 缓存数据超过 30 天未访问 - **THEN** Redis 自动清理该数据,下次访问时从 MySQL 重新加载 #### Scenario: 缓存数据续期 - **WHEN** 用户访问已缓存的行情数据 - **THEN** 系统返回缓存数据,TTL 保持为 30 天(不续期) ### Requirement: Redis 缓存失效 系统应当在数据更新时主动失效相关缓存,保证数据一致性。 #### Scenario: 刷新接口触发缓存失效 - **WHEN** 用户调用刷新接口更新行情数据 - **THEN** 系统先删除 Redis 中对应的缓存数据,再执行双写流程