落地页 hero 驱动行补国产库(TiDB/OceanBase/GaussDB/人大金仓)+ 官网资产入库保全(同 opsxapi,此前被 dist/ 规则漏跟踪)
This commit is contained in:
1 parent
f0d42db359
commit
c14f36ae75
18 files changed
+3861
No files matched your search
Vendored
+269
@@ -0,0 +1,269 @@
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Redis 工作台 · OpsxDB 文档</title>
|
||||
<meta name="description" content="OpsxDB 桌面数据库工作台用户文档 — 连库、写 SQL、看结果;MySQL / PostgreSQL / SQL Server / Oracle / SQLite / Redis 内置驱动,SSH 隧道与 SSL 加密。">
|
||||
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%2264%22%20y2%3D%2264%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23059669%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%2206B6D4%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%2214%22%20fill%3D%22url(%23g)%22%2F%3E%3Cg%20stroke%3D%22%23fff%22%20stroke-width%3D%224.5%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%3Cellipse%20cx%3D%2232%22%20cy%3D%2220%22%20rx%3D%2215%22%20ry%3D%226.5%22%2F%3E%3Cpath%20d%3D%22M17%2020v24c0%203.6%206.7%206.5%2015%206.5s15-2.9%2015-6.5V20%22%2F%3E%3Cpath%20d%3D%22M17%2032c0%203.6%206.7%206.5%2015%206.5s15-2.9%2015-6.5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E">
|
||||
<link rel="stylesheet" href="/docs/assets/docs.css">
|
||||
</head>
|
||||
<body>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" style="display:none" aria-hidden="true">
|
||||
<symbol id="i-menu" viewBox="0 0 24 24"><path d="M4 5h16"/><path d="M4 12h16"/><path d="M4 19h16"/></symbol>
|
||||
<symbol id="i-printer" viewBox="0 0 24 24"><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"/><path d="M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6"/><rect x="6" y="14" width="12" height="8" rx="1"/></symbol>
|
||||
<symbol id="i-thumbs-up" viewBox="0 0 24 24"><path d="M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"/><path d="M7 10v12"/></symbol>
|
||||
<symbol id="i-thumbs-down" viewBox="0 0 24 24"><path d="M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z"/><path d="M17 14V2"/></symbol>
|
||||
</svg>
|
||||
<header class="topbar">
|
||||
<div class="topbar-inner">
|
||||
<button class="menu-btn" id="menu-btn" aria-label="打开导航"><svg class="i"><use href="#i-menu"/></svg></button>
|
||||
<a class="brand" href="/docs">
|
||||
<span class="brand-logo"><svg width="28" height="28" viewBox="0 0 64 64" aria-label="OpsxDB"><defs><linearGradient id="lg-docs" x1="0" y1="0" x2="64" y2="64" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#059669"/><stop offset="1" stop-color="#06B6D4"/></linearGradient></defs><rect width="64" height="64" rx="14" fill="url(#lg-docs)"/><g stroke="#fff" stroke-width="4.5" fill="none" stroke-linecap="round"><ellipse cx="32" cy="20" rx="15" ry="6.5"/><path d="M17 20v24c0 3.6 6.7 6.5 15 6.5s15-2.9 15-6.5V20"/><path d="M17 32c0 3.6 6.7 6.5 15 6.5s15-2.9 15-6.5"/></g></svg></span>
|
||||
<span class="brand-name">OpsxDB <em>文档</em></span>
|
||||
</a>
|
||||
<span class="ver-badge">v0.1</span>
|
||||
<div class="search">
|
||||
<input id="search-input" type="search" placeholder="搜索文档…" autocomplete="off" spellcheck="false">
|
||||
<div class="search-panel" id="search-panel" hidden></div>
|
||||
</div>
|
||||
<nav class="top-links">
|
||||
<a href="/home">官网</a>
|
||||
<a href="/docs/quickstart">快速开始</a>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="layout" id="layout">
|
||||
<aside class="sidebar" id="sidebar">
|
||||
|
||||
<div class="nav-group">
|
||||
<div class="nav-group-title">开始使用</div>
|
||||
|
||||
<a class="nav-link" href="/docs/intro">产品介绍</a>
|
||||
|
||||
<a class="nav-link" href="/docs/quickstart">快速开始</a>
|
||||
|
||||
<a class="nav-link" href="/docs/interface">界面导览</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="nav-group">
|
||||
<div class="nav-group-title">连接与驱动</div>
|
||||
|
||||
<a class="nav-link" href="/docs/connect">新建连接</a>
|
||||
|
||||
<a class="nav-link" href="/docs/drivers">驱动支持</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="nav-group">
|
||||
<div class="nav-group-title">SQL 工作台</div>
|
||||
|
||||
<a class="nav-link" href="/docs/workbench">SQL 工作台</a>
|
||||
|
||||
<a class="nav-link" href="/docs/results">结果与导出</a>
|
||||
|
||||
<a class="nav-link active" href="/docs/redis">Redis 工作台</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="nav-group">
|
||||
<div class="nav-group-title">安全与 AI</div>
|
||||
|
||||
<a class="nav-link" href="/docs/security">安全设计</a>
|
||||
|
||||
<a class="nav-link" href="/docs/ai">AI 助手</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="nav-group">
|
||||
<div class="nav-group-title">参考</div>
|
||||
|
||||
<a class="nav-link" href="/docs/faq">常见问题</a>
|
||||
|
||||
<a class="nav-link" href="/docs/shortcuts">快捷键</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="sidebar-foot">© 2026 OpsxDB · 本地优先的数据库工作台</div>
|
||||
</aside>
|
||||
|
||||
<main class="content">
|
||||
<div class="breadcrumb">文档 <span>/</span> SQL 工作台 <span>/</span> Redis 工作台</div>
|
||||
<h1 class="page-title">Redis 工作台</h1>
|
||||
<div class="page-meta">更新于 2026-09-20</div>
|
||||
<article class="md">
|
||||
<p>Redis 连接使用专用表单(redis)。连上后,对象树是键空间浏览器,编辑器是 Redis 命令行 —— <strong>和 SQL 共用同一套输入框</strong>,不另开 CLI 页。</p>
|
||||
<h2 id="sec-1">为什么命令行不单独做一套</h2>
|
||||
<p>SQL 工作台已经有:多 Tab、⌘/Ctrl+Enter、查询历史、书签、危险确认、取消。Redis 命令同样是「输入 → 执行 → 结果表」。</p>
|
||||
<p>拆成独立 CLI(终端 REPL)会让快捷键、历史、危险确认分叉,也和 Navicat 式多引擎工作台不一致。</p>
|
||||
<p>因此:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>SQL</th>
|
||||
<th>Redis</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>输入框</td>
|
||||
<td>同一 CodeMirror</td>
|
||||
<td>同一 CodeMirror(占位/补全换成命令)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>切分</td>
|
||||
<td>分号语句</td>
|
||||
<td><strong>按行</strong>(<code>SET k "a;b"</code> 不会被分号拆开)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>执行</td>
|
||||
<td>⌘/Ctrl+Enter 当前语句或选区</td>
|
||||
<td>⌘/Ctrl+Enter 当前行或选区</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>结果</td>
|
||||
<td>结果表</td>
|
||||
<td>命令结果表;从对象树打开键则进入键详情</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Another Redis Desktop Manager 的独立 CLI Tab、opsxsql 的单行命令 + 输出日志,列为后续 P1,不是现在的主路径。</p>
|
||||
<h2 id="sec-2">键空间浏览</h2>
|
||||
<p>对象树对 Redis 显示 DB0–15(Cluster 仅 0)。展开库后:</p>
|
||||
<ul>
|
||||
<li><strong>SCAN 过滤</strong>:输入 <code>user:*</code> 点「应用」;生产大库请带前缀,避免扫全库。最多展示 500 个键,超出提示截断。</li>
|
||||
<li><strong>按分隔符编文件夹</strong>:连接表单的「键分隔符」默认 <code>:</code>,<code>CEX:FOLLOW:FOLLOWERS:1</code> 显示为 <code>CEX / FOLLOW / FOLLOWERS / 1</code>。文件夹显示数量;右键可「只看此前缀」「在此新建键」。</li>
|
||||
<li><strong>类型色点</strong>:string 绿 / hash 蓝 / list 橙 / set 紫 / zset 青。</li>
|
||||
<li><strong>点键</strong>:打开键详情(不是假 SELECT)。</li>
|
||||
</ul>
|
||||
<h2 id="sec-3">键详情</h2>
|
||||
<p>对标 Another Redis Desktop Manager 的 Hash/List/Set 视图:</p>
|
||||
<ul>
|
||||
<li>类型徽章、键名(回车重命名)、TTL(回车或「保存 TTL」,<code>-1</code> 永久)、刷新、导出还原命令、删除;</li>
|
||||
<li><strong>结构</strong>表:Hash 为 ID / Field / Value,JSON 值自动美化;可新增字段、编辑、删除;</li>
|
||||
<li><strong>JSON</strong> 视图:整体格式化;</li>
|
||||
<li>表内关键字过滤。</li>
|
||||
</ul>
|
||||
<p>String 可直接改值保存。</p>
|
||||
<h2 id="sec-4">命令执行</h2>
|
||||
<p>编辑器直接写 Redis 命令:</p>
|
||||
<pre><code class="language-bash">PING
|
||||
SET demo:key "hello" EX 60
|
||||
GET demo:key
|
||||
HGETALL demo:hash
|
||||
SCAN 0 MATCH demo:* COUNT 100
|
||||
INFO memory
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li>未点名的命令走通用 <code>Do</code>(<code>EXISTS</code> / <code>ECHO</code> / <code>INFO</code> / <code>CLIENT LIST</code> 等不必再加白名单);</li>
|
||||
<li><code>FLUSHALL</code> / <code>FLUSHDB</code> / <code>KEYS</code> / <code>CONFIG</code> 仍要二段确认;</li>
|
||||
<li><code>KEYS *</code> 在大库上会阻塞 —— 请用 <code>SCAN MATCH</code>。</li>
|
||||
</ul>
|
||||
<h3 id="sec-5">切换逻辑库(SELECT)</h3>
|
||||
<p><code>SELECT 1</code> 是 Redis 官方的切库命令,编辑器直接支持 —— 语义与 redis-cli 一致:<strong>切换后本 Tab 的后续命令都在目标库执行</strong>:</p>
|
||||
<pre><code class="language-bash">SELECT 1
|
||||
GET db1:only:key # 在 db1 执行
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li>没有也没有 <code>USE</code>(那是 SQL 语法)—— 输入 <code>USE db1</code> 会得到 Redis 原生报错<br>
|
||||
<code>ERR unknown command 'USE'</code>,与 redis-cli 行为一致;</li>
|
||||
<li>切库只影响当前查询 Tab(多 Tab 可各连各的库),左侧对象树点开对应库可浏览键;</li>
|
||||
<li>Cluster 模式只有 DB 0,<code>SELECT</code> 无效。</li>
|
||||
</ul>
|
||||
<h2 id="sec-6">连接参数</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>字段</th>
|
||||
<th>说明</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>host / port</td>
|
||||
<td>单机默认 127.0.0.1:6379</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>password / user</td>
|
||||
<td>ACL / requirepass</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>database</td>
|
||||
<td>逻辑库序号(0–15 常见;Cluster 忽略)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>键分隔符</td>
|
||||
<td>对象树文件夹分隔,默认 <code>:</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ssl</td>
|
||||
<td>TLS</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>redisMode</td>
|
||||
<td><code>standalone</code>(默认)/ <code>sentinel</code> / <code>cluster</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>redisNodes</td>
|
||||
<td>Sentinel / Cluster 节点列表,<code>host:port</code> 多行或逗号分隔</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>masterName</td>
|
||||
<td>Sentinel 主节点名(必填)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sentinelPassword</td>
|
||||
<td>Sentinel 密码(可空)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="sec-7">Sentinel</h3>
|
||||
<p>模式选「哨兵」,填写至少一个 Sentinel 地址和 <code>masterName</code>(如 <code>mymaster</code>)。逻辑库序号仍可用。</p>
|
||||
<h3 id="sec-8">Cluster</h3>
|
||||
<p>模式选「集群」,填写至少一个种子节点。Cluster 不支持 <code>SELECT</code> 多库,对象树只暴露 DB 0。槽位路由由客户端处理,键浏览走 <code>SCAN</code>。</p>
|
||||
<blockquote>
|
||||
<p><strong>环境</strong>:Sentinel / Cluster 表单与后端已接好;真实拓扑联调见 <code>docs/BACKLOG.md</code> 环境缺口。</p>
|
||||
</blockquote>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="pn-nav">
|
||||
|
||||
<a class="pn prev" href="/docs/results"><span class="pn-label">← 上一页</span><span class="pn-title">结果与导出</span></a>
|
||||
|
||||
|
||||
<a class="pn next" href="/docs/security"><span class="pn-label">下一页 →</span><span class="pn-title">安全设计</span></a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="feedback" id="feedback">
|
||||
<span class="feedback-q">本页内容是否对您有帮助?</span>
|
||||
<button class="fb-btn" data-v="yes"><svg class="i"><use href="#i-thumbs-up"/></svg> 有帮助</button>
|
||||
<button class="fb-btn" data-v="no"><svg class="i"><use href="#i-thumbs-down"/></svg> 没有帮助</button>
|
||||
<span class="fb-thanks" id="fb-thanks" hidden>感谢您的反馈!</span>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<aside class="toc">
|
||||
<div class="toc-title">本页目录</div>
|
||||
<nav class="toc-nav">
|
||||
<a class="toc-l2" href="#sec-1">为什么命令行不单独做一套</a>
|
||||
<a class="toc-l2" href="#sec-2">键空间浏览</a>
|
||||
<a class="toc-l2" href="#sec-3">键详情</a>
|
||||
<a class="toc-l2" href="#sec-4">命令执行</a>
|
||||
<a class="toc-l3" href="#sec-5">切换逻辑库(SELECT)</a>
|
||||
<a class="toc-l2" href="#sec-6">连接参数</a>
|
||||
<a class="toc-l3" href="#sec-7">Sentinel</a>
|
||||
<a class="toc-l3" href="#sec-8">Cluster</a>
|
||||
|
||||
</nav>
|
||||
<button class="print-btn" id="print-btn"><svg class="i"><use href="#i-printer"/></svg> 打印 / 导出 PDF</button>
|
||||
</aside>
|
||||
</div>
|
||||
|
||||
<script src="/docs/assets/docs.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user