Files
Web_BLS_Heartbeat_Server/openspec/specs/redis/spec.md
5562288315 revert 2b529baeb3
revert feat: 更新文档和数据库管理逻辑,添加运行模式说明,修复分区表空间设置
2026-03-03 21:28:27 +08:00

1.3 KiB
Raw Blame History

Redis 对接规范

Purpose

本规范定义本服务按协议向 Redis 写入“项目心跳”(STRING) 与“项目控制台”(LIST) 两个 key 的数据结构与频率,并在 Redis 不可用时保持无人值守可用性(不阻塞启动、后台重连)。

Requirements

Requirement: 心跳 Key 写入

系统 MUST 按协议周期性写入 Redis STRING 心跳 Key。

Scenario: 定期刷新心跳

  • WHEN 服务运行中
  • THEN 系统应每 3 秒(可配置)执行一次 SET ${projectName}_项目心跳 <json>
  • AND JSON 必须包含 apiBaseUrllastActiveAt(毫秒时间戳)
  • AND value 使用 UTF-8 编码
  • AND 可选设置 TTL例如 EX 30

Requirement: 控制台日志队列写入

系统 MUST 按协议向 Redis LIST 追加控制台日志。

Scenario: 追加日志

  • WHEN 发生关键事件(启动成功/错误/连接状态变化)
  • THEN 系统应执行 RPUSH ${projectName}_项目控制台 <json>
  • AND JSON 必须包含 timestamp(ISO-8601)、levelmessage
  • AND level 建议取值 info|warn|error|debug

Requirement: Redis 异常处理

系统 MUST 在 Redis 不可用时进行后台重连,且不得阻塞主服务启动。

Scenario: Redis 连接中断

  • WHEN Redis 连接中断
  • THEN 系统应自动重连
  • AND 不应导致主进程崩溃