Redis 连接使用专用表单(redis)。连上后,对象树是键空间浏览器,编辑器是 Redis 命令行 —— **和 SQL 共用同一套输入框**,不另开 CLI 页。 ## 为什么命令行不单独做一套 SQL 工作台已经有:多 Tab、⌘/Ctrl+Enter、查询历史、书签、危险确认、取消。Redis 命令同样是「输入 → 执行 → 结果表」。 拆成独立 CLI(终端 REPL)会让快捷键、历史、危险确认分叉,也和 Navicat 式多引擎工作台不一致。 因此: | | SQL | Redis | | --- | --- | --- | | 输入框 | 同一 CodeMirror | 同一 CodeMirror(占位/补全换成命令) | | 切分 | 分号语句 | **按行**(`SET k "a;b"` 不会被分号拆开) | | 执行 | ⌘/Ctrl+Enter 当前语句或选区 | ⌘/Ctrl+Enter 当前行或选区 | | 结果 | 结果表 | 命令结果表;从对象树打开键则进入键详情 | 独立 CLI Tab、单行命令与输出日志可在后续评估,不属于当前主路径。 ## 键空间浏览 对象树对 Redis 显示 DB0–15(Cluster 仅 0)。展开库后: - **SCAN 过滤**:输入 `user:*` 点「应用」;生产大库请带前缀,避免扫全库。最多展示 500 个键,超出提示截断。 - **按分隔符编文件夹**:连接表单的「键分隔符」默认 `:`,`CEX:FOLLOW:FOLLOWERS:1` 显示为 `CEX / FOLLOW / FOLLOWERS / 1`。文件夹显示数量;右键可「只看此前缀」「在此新建键」。 - **类型色点**:string 绿 / hash 蓝 / list 橙 / set 紫 / zset 青。 - **点键**:打开键详情(不是假 SELECT)。 ## 键详情 Hash/List/Set 键详情支持: - 类型徽章、键名(回车重命名)、TTL(回车或「保存 TTL」,`-1` 永久)、刷新、导出还原命令、删除; - **结构**表:Hash 为 ID / Field / Value,JSON 值自动美化;可新增字段、编辑、删除; - **JSON** 视图:整体格式化; - 表内关键字过滤。 String 可直接改值保存。 ## 命令执行 编辑器直接写 Redis 命令: ```bash PING SET demo:key "hello" EX 60 GET demo:key HGETALL demo:hash SCAN 0 MATCH demo:* COUNT 100 INFO memory ``` - 未点名的命令走通用 `Do`(`EXISTS` / `ECHO` / `INFO` / `CLIENT LIST` 等不必再加白名单); - `FLUSHALL` / `FLUSHDB` / `KEYS` / `CONFIG` 仍要二段确认; - `KEYS *` 在大库上会阻塞 —— 请用 `SCAN MATCH`。 ### 切换逻辑库(SELECT) `SELECT 1` 是 Redis 官方的切库命令,编辑器直接支持 —— 语义与 redis-cli 一致:**切换后本 Tab 的后续命令都在目标库执行**: ```bash SELECT 1 GET db1:only:key # 在 db1 执行 ``` - 没有也没有 `USE`(那是 SQL 语法)—— 输入 `USE db1` 会得到 Redis 原生报错 `ERR unknown command 'USE'`,与 redis-cli 行为一致; - 切库只影响当前查询 Tab(多 Tab 可各连各的库),左侧对象树点开对应库可浏览键; - Cluster 模式只有 DB 0,`SELECT` 无效。 ## 连接参数 | 字段 | 说明 | | --- | --- | | host / port | 单机默认 127.0.0.1:6379 | | password / user | ACL / requirepass | | database | 逻辑库序号(0–15 常见;Cluster 忽略) | | 键分隔符 | 对象树文件夹分隔,默认 `:` | | ssl | TLS | | redisMode | `standalone`(默认)/ `sentinel` / `cluster` | | redisNodes | Sentinel / Cluster 节点列表,`host:port` 多行或逗号分隔 | | masterName | Sentinel 主节点名(必填) | | sentinelPassword | Sentinel 密码(可空) | ### Sentinel 模式选「哨兵」,填写至少一个 Sentinel 地址和 `masterName`(如 `mymaster`)。逻辑库序号仍可用。 ### Cluster 模式选「集群」,填写至少一个种子节点。Cluster 不支持 `SELECT` 多库,对象树只暴露 DB 0。槽位路由由客户端处理,键浏览走 `SCAN`。 > **环境**:Sentinel / Cluster 表单与后端已接好;真实拓扑联调见 `docs/BACKLOG.md` 环境缺口。