如果你之前看过 DataDjinn 的阶段更新,应该知道它已经从最初的 AI 辅助 SQL 客户端,逐步扩展到支持 SQLite / MySQL / PostgreSQL / 达梦 DM / MongoDB 的本地桌面数据库工具。
项目地址:
text
https://github.com/vhukze/DataDjinn
这次整理的是从上一篇 CSDN 帖子到当前版本 v0.1.6 之间新增和优化的内容。
这轮更新的重点很明确:
- Redis 正式作为一等数据源接入 DataDjinn。
- 表格预览增加 WHERE 过滤和分页增强。
- 连接保存、错误提示、达梦 JVM 检测等细节继续优化。
- README、Release Notes 和自动发布流程同步完善。
一、这次最重要的新增:Redis 支持以及在线更新功能

上一篇帖子里,DataDjinn 已经补齐了 MongoDB 支持,并增强了达梦 DM 驱动管理。
现在,Redis 也正式加入 DataDjinn。
目前支持的数据库变成:
| 数据库 | 当前能力 |
|---|---|
| SQLite | 本地文件连接、表结构读取、数据预览、SQL 查询 |
| MySQL | 连接管理、库表浏览、SQL 查询、备份、导出、导入、表数据编辑 |
| PostgreSQL | 数据库 / Schema / 表浏览、SQL 查询、Schema 上下文、备份、导出、导入 |
| 达梦 DM | 外部 JDBC / pyd / whl 驱动管理、连接、Schema 浏览、表数据预览、AI 辅助操作 |
| MongoDB | 数据库 / 集合浏览、字段推断、文档预览、find 查询、创建集合、插入测试数据、JSON 导出 |
| Redis | 连接、DB 浏览、Key 列表、Key 预览、Key 编辑、常用命令执行、JSON 导出 |
二、Redis 连接管理
DataDjinn 现在可以直接创建 Redis 连接。
连接信息支持:
- 主机。
- 端口。
- ACL 用户名。
- 密码。
- 默认 DB 序号。
连接可以保存、测试、打开和关闭。
这里还有一个体验调整:
保存连接不再强制要求数据库一定能连通。
也就是说,如果你现在只是先把连接信息记录下来,哪怕 Redis 服务暂时没启动,连接配置也可以保存。测试连接仍然保留为独立按钮,需要验证连通性时再点。
三、Redis DB 浏览:不再只看有数据的 DB
Redis 的 DB 和 MySQL / PostgreSQL 的数据库不是一个概念。
Redis 的 DB 是服务端配置好的固定编号,比如默认通常是:
text
db0 ~ db15
它不能像 MySQL 那样动态执行:
sql
CREATE DATABASE xxx
所以这次 DataDjinn 对 Redis DB 浏览逻辑做了专门调整。
1. 展示完整 Redis DB 列表
后端会读取 Redis 服务端的 DB 配置,展示完整 DB 列表。
如果 Redis 服务配置了 16 个 DB,就会看到:
text
db0
db1
db2
...
db15
这样即使某个 DB 目前没有 Key,也可以在界面中选择它,再进入浏览页新增 Key。
2. 默认只勾选有数据的 DB
为了避免左侧连接树一次性显示太多空 DB,DataDjinn 默认只勾选有数据的 DB。
空 DB 不会丢失,只是默认不展示。
如果想查看或写入空 DB,可以在连接右侧的 DB 勾选器里手动勾选。
3. Redis DB 节点不再展开
之前 DB 节点如果像 SQL 表结构一样展开,会带来两个问题:
- Redis Key 数量可能非常大,展开连接树容易卡顿。
- Redis 的 Key 并不适合像表 / 字段那样作为树节点展示。
所以现在 Redis DB 节点改为:
双击 DB,右侧打开 Redis 数据浏览页。
DB 节点本身不再展开。
四、Redis Key 浏览和编辑
Redis 浏览页现在不只是查看 Key,还支持编辑。
1. Key 列表预览
进入某个 Redis DB 后,可以看到 Key 列表,并展示基础信息:
- Key 名称。
- 类型。
- TTL。
- 长度。
- 内存占用。
- 值预览。
TTL 也做了中文展示,比如永久不过期、已过期、剩余多少秒等,比直接显示数字更好理解。
2. 支持的 Redis 类型
当前支持查看:
- String
- Hash
- List
- Set
- ZSet
- Stream
其中,支持直接新增、编辑、删除和提交的类型包括:
- String
- Hash
- List
- Set
- ZSet
Stream 目前支持查看,不支持直接编辑。
3. 新增、编辑、删除、统一提交
Redis 浏览页上方现在有操作按钮:
- 刷新。
- 新增一行。
- 提交。
每个 Key 卡片里可以编辑:
- Key 名称。
- 类型。
- TTL。
- Value。
编辑后不会马上写入 Redis,而是先标记为未提交,确认后统一提交。
这点和表格编辑体验保持一致,避免误操作。
五、Redis 查询窗口命令支持
DataDjinn 的查询窗口也支持 Redis 常用命令。
目前支持查看类命令:
text
SCAN
KEYS
GET
HGETALL
LRANGE
SMEMBERS
ZRANGE
XRANGE
TYPE
TTL
也支持基础写入命令:
text
SET
HSET
LPUSH
RPUSH
SADD
ZADD
DEL
EXPIRE
例如可以在查询窗口里执行:
text
SCAN
或者:
text
GET user:1
Redis 常用命令也加入了编辑器补全。
六、Redis JSON 导出
导出功能也扩展到了 Redis。
现在支持:
- 按 Redis DB 导出。
- 按单个 Key 导出。
- 导出格式为 JSON。
导出内容会包含:
- Key 名称。
- Key 类型。
- TTL。
- 序列化后的值。
这比较适合迁移前留档、问题排查或者人工检查数据。
七、AI Agent 支持 Redis 上下文
DataDjinn 的 AI 面板也扩展到了 Redis。
现在 AI 可以识别:
- 当前 Redis 连接。
- 当前 Redis DB。
- 当前选中的 Key。
- 当前查询窗口里的 Redis 命令。
你可以问:
text
这个 Redis DB 里有哪些 Key?
也可以说:
text
帮我生成一个 HSET 命令,写入一个用户信息
或者:
text
解释一下这个 Redis 命令会做什么
DataDjinn 会把 Redis 上下文提供给 AI,而不是让 AI 脱离实际数据结构凭空回答。
八、表格预览新增 WHERE 条件栏
这次 SQL 表格预览也做了一个很实用的增强:
表格预览上方新增 WHERE 输入框。
比如打开某张表预览后,可以直接输入:
sql
id = 2
回车后会重新查询第一页,只展示符合条件的数据。
1. 支持字段补全
WHERE 输入框支持当前表字段补全。
输入字段名前几个字符时,可以快速选择字段,减少手写出错。
2. 分页和刷新保留 WHERE 条件
当 WHERE 条件生效后:
- 点击刷新。
- 翻页。
- 修改每页条数。
都会保留当前 WHERE 条件。
这比之前只能预览整表前几百 / 前几千条更方便。
3. 后端有基础安全校验
WHERE 参数不是直接完全裸传。
后端会做基础限制,例如禁止:
- 多语句。
- 注释。
- SELECT / INSERT / UPDATE / DELETE / DROP 等明显不属于过滤表达式的关键字。
目标是让这里保持为"过滤条件",而不是变成一个任意 SQL 执行入口。
九、分页增强:增加首页和末页
表格预览右上角分页区增加了:
- 首页。
- 上一页。
- 下一页。
- 末页。
后端预览接口会尝试返回总行数,前端据此计算末页。
对于需要快速跳到结果末尾的场景,现在会方便很多。
十、表格预览性能优化
之前表格预览默认每页 1000 条数据,在部分大表或字段较多的情况下,直接拖动滚动条会明显卡顿。
这次做了几项调整。
1. 默认每页从 1000 降到 300
默认预览条数改为:
text
300 条/页
减少首次渲染压力。
2. 每页条数可切换
目前支持:
- 300 条/页
- 500 条/页
- 1000 条/页
如果机器性能足够,或者确实需要一次看更多数据,也可以手动切换。
3. 多工作页切换减少刷新感
多个工作页切换时,之前会明显看到表格重新刷新的视觉变化。
这次优化了隐藏工作页的保留方式,减少切换时的重绘感。
这里并不是多个 Tab 共用一个表格,每个工作页仍然有自己的状态,只是隐藏页切回来时尽量保持原来的渲染状态。
十一、连接保存体验优化
这次把"创建连接"的产品语义改成了"保存连接"。
原因很简单:
很多时候我们只是想先记录连接配置,不一定要求数据库此刻可连。
现在:
- 新建连接按钮文案改为"保存连接"。
- 弹窗标题改为"保存数据库连接"。
- 保存连接不再强制测试连通。
- 测试连接仍然保留为独立按钮。
如果端口写错、服务没启动、网络暂时不通,也可以先保存配置,之后再打开。
十二、错误提示更友好
这次也处理了一些"底层英文错误看不懂"的问题。
1. MySQL 连接失败提示
之前如果 MySQL 端口写错或服务没监听,可能会看到类似:
text
Lost connection to MySQL server during query
现在会提示:
text
无法连接到 MySQL 服务,请检查主机和端口是否正确、数据库服务是否已启动、防火墙是否放行该端口
更接近真实排查方向。
2. Redis 连接失败提示
Redis 打开连接失败时,也不再直接暴露:
text
Timeout reading from socket
现在会根据情况提示:
- Redis 连接超时。
- 无法连接 Redis 服务。
- 用户名或密码错误。
- DB 序号超出服务端配置范围。
例如超时时会提示检查主机、端口、服务和防火墙。
3. 达梦 JVM 检测提示优化
达梦 JDBC 方式需要本机 JVM。
之前更多依赖 JAVA_HOME。
现在如果用户没有配置 JAVA_HOME,但系统 Path 中配置了 java.exe,DataDjinn 也会尝试从 java.exe 反推 jvm.dll。
这样更符合很多 Windows 用户的实际环境。
十三、连接树右键菜单精简
连接节点右键菜单也做了整理。
因为连接右侧本来已经有:
- 刷新。
- 编辑。
- 删除。
所以连接右键菜单中移除了这些重复项。
现在右键菜单更聚焦:
- 打开 / 关闭连接。
- 新建库或相关操作。
- 运行 SQL 文件。
同时 Redis 连接右键去掉了"新建库"。
这是因为 Redis 不支持动态创建数据库,DB 是服务端配置好的固定编号。
十四、README 和 Release Notes 同步更新
这次也同步更新了项目文档。
README 现在描述的是当前最新版能力,包括:
- Redis 支持。
- Redis Key 管理。
- WHERE 过滤。
- 分页增强。
- AI 支持 Redis 上下文。
- MongoDB / Redis JSON 导出。
Release Notes 则按 v0.1.5 到 v0.1.6 的变化整理,方便 GitHub Release 直接展示本次版本变更。
十五、当前版本能力概览
当前 DataDjinn 的定位可以概括为:
一个本地运行、支持多数据库、可结合 AI 上下文工作的桌面数据库客户端。
目前核心能力包括:
- SQLite / MySQL / PostgreSQL / 达梦 DM / MongoDB / Redis 多数据库支持。
- SQL / MongoDB shell 风格语句 / Redis 命令执行。
- 表格预览、WHERE 过滤、分页、编辑和提交。
- MongoDB 集合浏览、字段推断、JSON 导出。
- Redis DB 浏览、Key 管理、Redis JSON 导出。
- 达梦外部 JDBC / pyd / whl 驱动管理。
- AI 读取当前连接、库、表、集合、Redis DB / Key 和查询窗口内容。
- Windows DPAPI 本地加密保存密码。
- 安装版和解压版发布。
十六、后续计划
后续还会继续完善:
- 更完整的数据编辑能力。
- 更强的表结构设计辅助。
- 查询结果可视化。
- AI 自动生成报表。
- 更完善的导入导出格式。
- MCP 能力集成。
- 更多数据库类型支持。
总结
这次 v0.1.6 的核心变化,是让 Redis 正式成为 DataDjinn 的一等数据源。
相比上一篇更新,这次不只是多支持了一个连接类型,而是围绕 Redis 做了一整套桌面客户端体验:
- 连接管理。
- DB 勾选浏览。
- Key 预览。
- Key 新增、编辑、删除和提交。
- Redis 命令执行。
- JSON 导出。
- AI 上下文理解。
同时,表格预览也补上了 WHERE 条件、首页 / 末页、默认页大小优化等高频体验点。
如果你经常在数据库客户端、Redis 工具和 AI 工具之间来回切换,可以试试 DataDjinn。
项目地址:
text
https://github.com/vhukze/DataDjinn
欢迎 Star、试用和反馈。