DataDjinn v0.1.6 更新:增加在线更新功能,Redis 数据源支持,表格预览和连接体验继续增强

如果你之前看过 DataDjinn 的阶段更新,应该知道它已经从最初的 AI 辅助 SQL 客户端,逐步扩展到支持 SQLite / MySQL / PostgreSQL / 达梦 DM / MongoDB 的本地桌面数据库工具。

项目地址:

text 复制代码
https://github.com/vhukze/DataDjinn

这次整理的是从上一篇 CSDN 帖子到当前版本 v0.1.6 之间新增和优化的内容。

这轮更新的重点很明确:

  1. Redis 正式作为一等数据源接入 DataDjinn。
  2. 表格预览增加 WHERE 过滤和分页增强。
  3. 连接保存、错误提示、达梦 JVM 检测等细节继续优化。
  4. 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.5v0.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、试用和反馈。

相关推荐
数据库小学妹1 小时前
InnoDB内存架构解密:Buffer Pool与性能优化实战
数据库·经验分享·sql·性能优化·架构
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第89题】【Mysql篇】第19题:Hash 索引和 B+ 树索引的区别?它们在使用方面的区别?
java·数据库·mysql·面试·哈希算法
一只fish1 小时前
Oracle官方文档翻译《Database Concepts 26ai》第17章-内存架构
数据库·oracle
比企谷八幡2 小时前
一张表在磁盘上长什么样:Heap File 入门
数据库·oracle
流星白龙2 小时前
【MySQL高阶】11.InnoDB存储引擎
数据库·mysql
wangbing11252 小时前
SQL Server2008 R2版自动备份问题
数据库
Trouvaille ~2 小时前
【Redis篇】Redis 渐进式遍历与数据库管理
数据库·redis·缓存·中间件·数据库管理·后端开发·scan
Byron__2 小时前
Redis高频面试:数据结构+编码+分布式锁+缓存问题
redis·缓存·面试
xcLeigh3 小时前
KES数据库运维监控与故障排查实战
运维·数据库·sql·故障排查·运维监控·kes