Coder Social home page Coder Social logo

tiny-craft / tiny-rdm Goto Github PK

View Code? Open in Web Editor NEW
6.2K 19.0 290.0 13.79 MB

A Modern Redis GUI Client

Home Page: https://redis.tinycraft.cc/

License: GNU General Public License v3.0

Go 21.29% NSIS 1.09% HTML 0.04% Vue 56.00% JavaScript 20.89% SCSS 0.38% Shell 0.30%
icon-pack naive-ui redis redis-client vue wails wails-app web-view go golang

tiny-rdm's Introduction

Tiny RDM

English | 简体中文

License GitHub release GitHub All Releases GitHub stars GitHub forks Discord X

Tiny RDM is a modern lightweight cross-platform Redis desktop manager available for Mac, Windows, and Linux.

screenshot screenshot

Feature

  • Super lightweight, built on Webview2, without embedded browsers (Thanks to Wails).
  • Provides visually and user-friendly UI, light and dark themes (Thanks to Naive UI and IconPark).
  • Multi-language support (Need more languages ? Click here to contribute).
  • Better connection management: supports SSH Tunnel/SSL/Sentinel Mode/Cluster Mode/HTTP proxy/SOCKS5 proxy.
  • Visualize key value operations, CRUD support for Lists, Hashes, Strings, Sets, Sorted Sets, and Streams.
  • Support multiple data viewing format and decode/decompression methods.
  • Use SCAN for segmented loading, making it easy to list millions of keys.
  • Logs list for command operation history.
  • Provides command-line mode.
  • Provides slow logs list.
  • Segmented loading and querying for List/Hash/Set/Sorted Set.
  • Provide value decode/decompression for List/Hash/Set/Sorted Set.
  • Integrate with Monaco Editor
  • Support real-time commands monitoring.
  • Support import/export data.
  • Support publish/subscribe.
  • Support import/export connection profile.
  • Custom data encoder and decoder for value display (Here are the instructions).

Installation

Available to download for free from here.

If you can't open it after installation on macOS, exec the following command then reopen:

 sudo xattr -d com.apple.quarantine /Applications/Tiny\ RDM.app

Build Guidelines

Prerequisites

  • Go (latest version)
  • Node.js >= 16
  • NPM >= 9

Install Wails

go install github.com/wailsapp/wails/v2/cmd/wails@latest

Pull the Code

git clone https://github.com/tiny-craft/tiny-rdm --depth=1

Build Frontend

npm install --prefix ./frontend

or

cd frontend
npm install

Compile and Run

wails dev

About

Wechat Official Account

wechat

Sponsor

If this project helpful for you, feel free to buy me a cup of coffee ☕️.

  • Wechat Sponsor

wechat

tiny-rdm's People

Contributors

kt286 avatar leognutzmann avatar raojinlin avatar tiny-craft avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tiny-rdm's Issues

【改进】值(value)的类型判断不准确

版本: 1.0.4
windows 11

我这边很多字符串(plain text)类型都判断为 hex 类型,显示不方便。比如下面的两个图中的示例。
很多文字都有这个问题。
感觉有中文的字符串比较容易误判,但是没有仔细测试

图片

图片

打开链接时直接出了 16 个库, 但实际上只有一个库

image
打开链接后, 直接出了 16 个库, 但实际上 Redis 只有一个库(我链接的是 pika) 测试可以通过 CONFIG GET databases 这个命令得到当前数 db 的数量


image
希望这里有个功能,在新页签打开

image
这些二进制数据,建议还是默认用16进制去显示


image

还有,hash类型的数据在查看时,也像string类型那样 支持 选择不同的查看方式

一些可用性的问题

image

Env

tiny-rdm version: 1.0.1
os version: MacOS Ventura 13.5.2 (Apple M1 arm)

有如下问题和建议

  1. 我们线上有超1亿的 key,这种情况下,直接 scan 全部的 key 会导致本地直接挂掉(RDM/RESP 也有这个问题,目前发现 redis-pro 和 medis 可以使用,其中 medis 也是支持 key 按照 tree 模式展开的,但它是懒加载的,在最下面提供一个 “scan more” 的按钮 )
  2. 我们线上的 db 数量 超过16个,目前没找到超过16个的db 在哪操作和管理
  3. 新建链接界面,文本框不支持鼠标选中(本意是想框选默认值然后删除,结果变成了移动整个窗体)
  4. 同时开启多个链接后,切换右侧 server 的 tab 后,右侧 info 信息,除了名称变了之外其它信息不自动触发刷新,容易看错
  5. light 主题下 失去焦点后 窗体控制按钮(关闭、最小化、最大化)颜色和背景色融为了一体,而 dark 主题却能看得到
  6. 期望添加 命令模式,支持直接执行 redis 命令(类似于 medis)

win11运行软件没反应

我下载的是便携解压版本,我电脑的版本是Win11的22H2,操作系统版本是22621.2283,点击运行或管理员运行都没有反应,不显示任何界面

阴影

浅色模式可以不可以给边框加一个阴影

建议:添加过滤DB的功能

现在的开发场景:甲方提供redis等环境,好几个项目组共用一个连接,分配不同DB,所以想说,能不能设置连接的默认DB,以及过滤DB

sentinel 支持

好像不支持sentinel,测试链接通过,但是保存后打开链接提示ERR 报错
image

【PERFORMANCE】性能问题

图片
这也是几乎所有的 Redis 客户端开发者都忽略的性能问题:

  1. 尝试列举所有的 key,导致网络带宽被占满,同时客户端自己也无法操作;
  2. 列举出所有的 key 会导致客户端的内存暴涨,无法进行操作。

不支持macos 13.5.2 (22G91)

下载软件后打开提示 你无法打开应用程序“Tiny RDM”,因为这台Mac不支持此应用程序。

redis的config命令重命名后,无法正常使用

处于安全考虑,我们公司默认的redis部署包会将FLUSHALL、CONFIG、EVAL进行重命名。这会导致tiny-rdm连接时就报错。

(error) ERR unknown command `config`, with args beginning with: `get`, `databases`,

部分优化建议

首先感谢提供好用的软件,以下是几点建议

  1. 希望能支持对多种数据格式的展示的优化,例如 JSON / Text 等等
  2. 进入到一个Key 里面之后,如果这个Key 是 Set 之类的, 希望能显示出这个队列一共有多少 Value,也就是有一个 Size 功能
  3. 可以快捷的对 Set / hash / Zset / List 里面的 Value 进行复制
  4. 过滤键的功能能否支持多个过滤条件呢?

【BUG】窗体边框与文本框拖拽

下载的最新 Windows 版

  1. 浅色模式下窗体没有边框,如图:
    屏幕截图 2023-09-25 161025
  2. 打开偏好设置或任何对话框,会变成整个界面都能拖拽窗口,一些操作比如选择文本都无法进行。

软件打开白屏

软件版本:1.0.1
Windows版本:
版本 Windows 10 专业版
版本号 22H2
安装日期 ‎2023/‎6/‎13
操作系统内部版本 19045.3448
体验 Windows Feature Experience Pack 1000.19044.1000.0

安装完之后,打开如下:
白屏

wailsjs/runtime/runtime.js 缺少

App.vue 存在引用

import { WindowSetDarkTheme, WindowSetLightTheme } from 'wailsjs/runtime/runtime.js'

build 报错

[vite:load-fallback] Could not load /D:/projects/tiny-rdm/frontend/wailsjs/runtime/runtime.js (imported by src/App.vue): ENOENT: no such file or directory, open 'D:\D:\projects\tiny-rdm\frontend\wailsjs\runtime\runtime.js'

bug 反馈

版本:1.0.4
操作系统:Windows 11

当 key 名称为 "\x00\x01" 这种命名的键,在数据库中会显示为方块,并且点击后会有 key 不存在的错误。

Snipaste_2023-10-09_18-15-16

使用 RDM(RESP) 不会出现此问题,会正常显示 \x00 \x01 ....

不支持codis

连接codis报错:ERR handle request, command 'CONFIG' is not allowed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.