master
JRedisDesktop
基于 Electron + Vue 3 + Vite 的现代 Redis 桌面管理器。
功能特性
连接管理
- 创建、编辑、删除连接(主机/端口/密码)
- SSH 隧道 - 通过 SSH 安全连接 Redis
- Sentinel 模式 - 支持 Redis Sentinel 高可用
- Cluster 模式 - 支持 Redis Cluster 集群
- TLS/SSL - 支持 CA 证书、客户端证书和私钥
- 测试连接 - 保存前验证连接是否成功
- 导入/导出 - JSON 格式连接配置
- 连接颜色 - 为连接设置自定义颜色
- 连接复制 - 一键复制连接配置
- 健康检查 + 自动重连指示器
Key 浏览器
- 模式搜索 - 支持 Redis MATCH 语法(如
user:*、cache:??) - 本地过滤快速搜索
- SCAN 分页加载
- 树形视图(按 key 分隔符分组)
- 多选批量操作
- 批量删除(pipeline)
- Key 导入/导出 - 批量导出/导入 key
- 内存分析 - 扫描并排序 key 内存占用
类型编辑器
- String - 查看/编辑,自动 JSON 格式化
- Hash - 字段表格,支持增删改
- List - 分页查看,支持推入/编辑/移除
- Set - 成员列表,支持过滤/添加/移除
- Zset - 有序集合,显示分数
- Stream - 流数据查看,字段管理,消费者组支持
- ReJSON - RedisJSON 模块支持(JSON.GET / JSON.SET)
Key 操作
- TTL - 查看和编辑过期时间
- 重命名 - 支持存在性检查
- 复制键名 - 一键复制到剪贴板
- 单个/批量删除
- 内存占用 - 查看单个 key 内存占用
分析工具
- Redis CLI - 交互式终端,支持命令历史、事务、Pub/Sub、Monitor
- 慢日志 - 查看慢命令及耗时
- INFO 仪表板 - 服务器统计信息
- 命令日志 - 记录所有执行的命令
- 数据库选择器 - 切换 DB 0-15
设置
- 主题 - 深色、浅色、跟随系统
- 语言 - English / 中文 / 日本語 / 한국어 / Deutsch
- SCAN 数量 - 每次扫描的 key 数量
- 字体大小 - 可调节
- 页面缩放 - 50% - 200%
- 字体族 - 可选择等宽字体
快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl+N |
新建连接 |
Ctrl+R |
刷新 key 列表 |
F5 |
刷新 key 列表 |
Delete |
删除选中的 key |
Escape |
取消选择 |
开发
npm install
npm run dev # electron-vite 开发模式,支持 HMR
npm run build # 生产构建
打包
npm run build:linux
npm run build:mac
npm run build:win
环境要求
- Node.js 18+
- npm 或 yarn
- 对于 Linux 构建:可能需要额外的依赖(如
libsecret-1-dev)
项目结构
JRedisDesktop/
├── src/
│ ├── main/ # Electron 主进程
│ ├── preload/ # 预加载脚本
│ └── renderer/ # Vue 3 渲染进程
├── build/ # 构建资源(图标等)
├── out/ # 构建输出
└── release/ # 打包输出
技术栈
- 主进程: Electron 33
- 预加载: contextBridge + 类型化 IPC
- 渲染进程: Vue 3 + Pinia + Element Plus
- 构建工具: electron-vite + Vite 6 + TypeScript 5
- Redis 客户端: ioredis 5
- 持久化: electron-store + safeStorage(加密凭据)
- 虚拟滚动: @tanstack/vue-virtual(大数据量渲染)
- 代码编辑器: Monaco Editor(通过 vue-monaco-editor)
- SSH 隧道: ssh2
架构
Electron 主进程 (src/main/)
├── RedisService # ioredis 封装(连接、扫描、CRUD、Stream)
├── electron-store # 持久化(连接配置、设置)
├── safeStorage # 凭据加密
└── ipc-handlers # 所有 IPC 通道处理
预加载 (src/preload/)
└── contextBridge → window.electronAPI
渲染进程 (src/renderer/src/)
├── stores/ # Pinia 状态管理(connection, key, app)
├── components/ # Vue 3 组件
│ ├── layout/ # 应用布局
│ ├── connection/ # 连接管理
│ ├── key/ # Key 浏览
│ ├── editors/ # 类型编辑器
│ ├── common/ # 通用组件(虚拟滚动)
│ └── views/ # 视图(CLI、慢日志、内存分析等)
├── i18n/ # 国际化(英文、中文、日语、韩语、德语)
└── composables/ # 组合式函数(useKeyboard, useTypeColor)
Description