GoForum🌐 V2EX

我用 Rust + GPUI 写了一个 Redis 客户端——Zedis

treexie · 2026-01-04 09:48 · 0 次点赞 · 13 条回复

在这个人人都在喊“不要重复造轮子”的时代,我还是又造了一个轮子——Zedis

⚡️ Zedis 是什么?

简单来说,Zedis 是一个追求极致性能的 Redis GUI 客户端。

市面上的 Redis 客户端有很多,zedis 也不是为了成为更好的 GUI 客户端,作为一名热衷于“通过造轮子来学习”的开发者,尝试构建 zedis 只是为了我自己更好的学习 rust ,后续我会说一下学习各种技术的造轮子之路。

Zedis 的核心目标只有一个:

它基于 Rust 编写,UI 层使用了与 Zed Editor 同款的渲染引擎 GPUI。这意味着 Zedis 的每一个像素都是由 GPU 直接绘制的,带来了原生、60 FPS 丝般顺滑的体验。

核心特性一览

  • 🚀 极速渲染:告别 HTML/CSS 的重绘负担,即使在低配机器上也能秒开。

  • ♾️ 虚拟列表:实测轻松处理 10 万+ 级别的 Key 列表(我的手提百万级别也很流畅),配合 SCAN 迭代,滚动浏览毫无卡顿。

  • 🧠 数据自动检测

    • 如果是 GZIP/ZSTD 压缩的数据,它会自动解压显示。

    • 如果是 JSON/MsgPack,它会自动格式化并高亮。

    • 如果是图片二进制流,直接显示预览图。

  • 🛠️ 开箱即用**:自动适配 Cluster 、Sentinel (单 Master 可免填名称)或单机模式。

  • 💻 全平台支持:支持 macOSWindowsLinux,均可在 GitHub Release 下载。


🦀 为什么要写 Zedis ?

我一直坚信“熟能生巧”。从前端、Node.js 、Flutter 、Go 一路走来,我习惯通过写各种杂七杂八的模块和工具来掌握一门语言。

Rust 大概是我觉得上手曲线最陡峭的语言了,也因此成了我最近几年造轮子的首选。以下的几个项目就是我这几年学习 rust 所造的轮子了(顺带打广告让大家关注关注):

  • cyberapi 基于 tauri 的类似 postman 的 api 工具(我真正开始学会 rust 的第一个项目)

  • diving-rs 参考 dive 实现的 docker 镜像查看工具

  • charts-rs rust 实现的图表模块,可以输出 svg 或者各种图片形式的图表

  • pingap 基于 pingora 的 http 反向代理(我真正一行行代码手写的 rust 项目,后续相关注释通过 gemini 生成)

  • zedis 基于 zed 的 gpui 实现的 redis GUI 客户端(绝大部分的逻辑自己实现好之后,让 gemini 分析语法调整)

🤖 关于 Zedis 与 AI 的协作

Zedis 的诞生其实是个巧合。当时看到了 gpui-component,单纯想试试用 GPUI 构建桌面程序的感觉。

与之前的项目不同,Zedis 是一个全面使用 AI 辅助的产品。这里指的不是简单的 Vibe Coding ,而是将 AI 作为“结对编程”的导师。

在对 GPUI 框架完全陌生的情况下,我负责核心逻辑的实现,而让 Gemini 充当了“文档检索员”和“代码审查员”的角色——帮我查阅分散的文档,分析模块语法,整理代码结构,并提供优化建议。在一个月的工作之余能开发出这个基本可用的版本,AI 功不可没。我并不抗拒 AI ,但我更愿意把它定义为一个“更先进的工具”,而非简单的“生产力”

📝 结语

Zedis 算是给我 2025 年的 Rust 之旅画上了一个句号。

回顾这一年,虽然我绝大部分时间了 Pingap 这个面向基础设施的项目上,但 Zedis 代表了我对 Rust 在桌面端应用的一次全新尝试。

说实话,在繁重的工作之余死磕 Rust 确实是一场“苦修”。即便折腾了这么久,我依然觉得自己在 Rust 的世界里才刚刚入门。这是一门门槛过高的语言,真心不建议大家实际项目中为了用而用,除非你真的需要它带来的性能或安全红利。

无论你是想体验一下原生 GPUI 的速度,还是单纯对我的造轮子之路感兴趣,都欢迎来 GitHub 逛逛。

🌟 GitHub: https://github.com/vicanso/zedis (如果有空,欢迎点个 Star ,感谢关注!)

13 条回复
kkhaike · 2026-01-04 09:48
#1

Z 打头以为是 zig 写的

treexie · 2026-01-04 09:48
#2

@kkhaike Gemini 推荐的名字,发布前我查了一下,的确有个 zig 写的 redis 模块叫 zedis 。😂

guotie · 2026-01-04 09:48
#3

nice

GzhiYi · 2026-01-04 09:48
#4

点赞,速度不错。不过功能还没完善好?我一时没找到 value 编辑以及 key 重命名之类的。可以向 medis 看齐一下功能

treexie · 2026-01-04 09:48
#5

@GzhiYi value 编辑是可以的,key 重命名未支持,功能的确是不完善的,暂时只能说是能用😂。

Medis 的功能是很齐全,后续会慢慢的完善,也坦白说一句,medis 的性能我觉得更好🫠。

bli22ard · 2026-01-04 09:48
#6

这启动速度确实牛逼。我这 windows 没显示图标,不知道是不是没弄。

treexie · 2026-01-04 09:48
#7

@bli22ard 毛胚房阶段,很多细节都没处理。

GzhiYi · 2026-01-04 09:48
#8

@treexie 是我窗口太小了没看到哈哈。不错的

GzhiYi · 2026-01-04 09:53
#9

默认字体还是偏大了,效率工具其实像 medis 一样小一些可视的内容多一些感觉更好,而且我尝试修改字体大小,未有生效。macos 15.4.1 。

treexie · 2026-01-04 09:58
#10

@GzhiYi 现在只能修改编辑器那部分的字体,后续优化为全局

QlanQ · 2026-01-04 09:58
#11

终于有了呀,redis 那么常用,但是好用的 gui 真的木有 点亮了,学习下这个项目

tuimaochang · 2026-01-04 10:03
#12

牛逼,star 了

GzhiYi · 2026-01-04 10:03
#13

@QlanQ medis 和 tiny drm 都挺好用的

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: treexie
发布: 2026-01-04
点赞: 0
回复: 0