AnotherRedisDesktopManager README

The project's README from github.com/qishibo/AnotherRedisDesktopManager. As one markdown file: README.md.

Another Redis Desktop Manager

🚀🚀🚀 A faster, better and more stable redis desktop manager, compatible with Linux, windows, mac. What's more, it won't crash when loading massive keys.


LICENSE Release Download FOSSA Status STARS

简体中文

Windows


get from microsoft store

Linux


Get it from the Snap Store

Mac

If you can't open it after installation by brew or dmg, exec the following command then reopen:
sudo xattr -rd com.apple.quarantine /Applications/Another\ Redis\ Desktop\ Manager.app


get from app store

Enjoy!

redis status dark

redis key dark

redis exec log

Contributors

This project exists thanks to all the people who contribute. contributors backers

Bruno SatoZhengchao AnBillHarry FoxTandavaWorksBWI Companies, Inc.DragonflyDBliuwei小新Mike AllisonYannick Müller

Sponsor


app store


windows store

Feature Log

Dev Build

Linux Or Mac

# clone code
git clone https://github.com/qishibo/AnotherRedisDesktopManager.git --depth=1
cd AnotherRedisDesktopManager

# install dependencies
npm install

# if download electron failed during installing, use this command
# ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/" npm install

# serve with hot reload at localhost:9988
npm start


# after the previous step is completed to 100%, open another tab, build up a desktop client
npm run electron

If linux errors like this:

# if error like this
../src/FontManagerLinux.cc:1:35: fatal error: fontconfig/fontconfig.h: No such file or directory

# then try this
sudo apt install libfontconfig1-dev

Windows

# clone code
git clone https://github.com/qishibo/AnotherRedisDesktopManager.git --depth=1
cd AnotherRedisDesktopManager

# install dependencies, 32-bit or 64-bit all use win32
npm install --platform=win32

# if download electron failed during installing, use this command
# npm config set ELECTRON_MIRROR https://npmmirror.com/mirrors/electron/
# npm install --platform=win32

# serve with hot reload at localhost:9988
npm start


# after the previous step is completed to 100%, open another tab, build up a desktop client
npm run electron

Build Package

# prepare before package
npm run pack:prepare

# build package on respective platforms
# on windows build 64bit package
npm run pack:win
# on windows build 32bit package
npm run pack:win32

# on mac
npm run pack:mac

# on linux
npm run pack:linux

Custom Viewer

When the default viewer does not meet the needs, you can format your content via customize script.
Method: Pull down the viewer list to the bottom, click "Custom -> Add", and then refer to the instructions below
Note: The script needs to output formatted content through print console.log echo etc., which can be any string or JSON string

Config Description
Name Custom name
Command Executable commands, such as xxx.py xxx.js xxx.class etc. The file needs x permission, which can be executed in the form of ./xxx.py; It can also be set to /bin/node /bin/bash or other system commands, and the script path needs to be placed in Params
Params Parameters spliced after Command, such as "--key {KEY} --value {VALUE}", where {KEY} and {VALUE} will be replaced with the corresponding Redis key and value. Note that if the content is invisible such as binary, you can use {HEX} instead of {VALUE}, and {HEX} will be replaced with the hexadecimal string. If HEX is too long (>8000 chars), it will be written to a temporary file. You can use {HEX_FILE} to obtain the file path, and read by yourself in the script

Configuration example:

Add env to the first line of the script, the final executed command is: ./home/qii/pickle_decoder.py {HEX}, the script can receive parameters via argv[1], ref #978

Command Params
/home/qii/pickle_decoder.py {HEX}
/home/qii/shell_decoder.sh {VALUE}

Without execute permission x:

The final executed command is: /bin/node /home/qii/node_decoder.js {HEX} --key={KEY}, the script can receive parameters via argv[1]

Command Params
/bin/bash /home/qii/shell_decoder.sh {VALUE}
/bin/node /home/qii/node_decoder.js {HEX} --key={KEY}

Start From Command Line(CLI)

If you want to start from command line(CLI), you can pass args to the App.

Examples

# Linux
# ./Another Redis Desktop Manager.AppImage

# Mac
# open /Applications/Another\ Redis\ Desktop\ Manager.app --args

# Windows
"D:\xxxx\Another Redis Desktop Manager.exe"

# COMMON
--host 127.0.0.1 --port 6379 --auth 123
--name tmp_connection

# CLUSTER
--cluster

# SSH
--ssh-host 192.168.0.110
--ssh-username root --ssh-password 123

# SENTINEL
--sentinel-master-name mymaster
--sentinel-node-password 123

# save connection
--save
# readonly mode
--readonly

Parameter Description

Common

Args Description Args Description
--host Redis host* --port Redis port
--auth Password --name Custom name
--separator Key separator --readonly Enable readonly mode
--username Username(Redis6 ACL) --save Enable saving, one-time link by default

SSH

Args Description Args Description
--ssh-host SSH host* --ssh-port SSH port(default:22)
--ssh-username Username* --ssh-password Password
--ssh-private-key Path of private key --ssh-passphrase Password of private key
--ssh-timeout SSH timeout(s)  

CLUSTER

Args Description
--cluster Enable CLUSTER mode

SSL

Args Description Args Description
--ssl Enable SSL* --ssl-key SSL Private Key Pem
--ssl-ca SSL Certificate Authority --ssl-cert SSL Public Key Pem

SENTINEL

Args Description
--sentinel-master-name Name of master group*,like 'mymaster'
--sentinel-node-password Password of Redis node

FAQ

1. How to connect to Redis Cluster in internal network (such as Docker, LAN, AWS)?

Answer: Connect via SSH+Cluster (SSH to the internal network and then connecting to Cluster with internal IP such as 127.0.0.1, 192.168.x.x), you need to fill Redis Host with the internal IP.

How to get Redis internal IP? Connect through SSH, uncheck Cluster option, and then open the console to execute CLUSTER NODES, select any IP in the result.

2. Do I need to fill in the 'Username' in the Redis configuration?

Answer: The access control list (ACL) is only supported in Redis>=6.0, so do not fill it unless you need a special user.

License

MIT

Support

goanother.com   Download Analysis

AnotherRedisDesktopManager (qishibo/AnotherRedisDesktopManager)

Searching Database…

这是什么?Another Redis Desktop Manager(AnotherRedisDesktopManager/ARDM)是一款图形界面的桌面客户端,用于管理和浏览 Redis 数据库。相比其他 Redis 图形工具,它速度更快、更稳定,尤其是在键数量非常庞大的时候。
这是桌面应用还是命令行工具?这是基于 Electron 的桌面应用,带图形界面,同时也支持通过命令行参数直接启动连接。
连接 Redis 除了这个应用,还需要别的东西吗?基本连接不需要额外工具,但如果要连接位于私有网络(Docker、局域网、AWS)中的 Redis Cluster,就需要通过 SSH 隧道访问内网 IP。
我在 Mac 上安装时会遇到什么坑吗?在 macOS 上,如果通过 brew 或 dmg 安装后应用打不开,需要先用终端命令手动移除 Gatekeeper 的隔离属性(quarantine attribute),然后再重新打开。
它能在 Linux、Windows 和 Mac 上运行吗?可以。它为这三个系统都提供了原生安装包:Linux 上有 AppImage/snap,Windows 上有 exe/chocolatey/winget 安装方式,Mac 上有 dmg/brew cask。
它支持哪些 Redis 部署模式?它支持单机 Redis、Cluster 模式、Sentinel、SSH 隧道连接(包括通过 SSH 连接 Cluster),以及 SSL/TLS 加密连接。
我能自定义值的显示方式吗?可以。你可以添加自定义查看器(Custom Viewer),把某个键的值交给外部脚本或命令(如 Python、Node、shell 等)处理,然后显示脚本输出的格式化结果,而不是原始值。
它能查看和解码哪些数据类型和格式?除了普通的字符串、哈希、列表、集合、有序集合和流,它还内置了 JSON、Msgpack、Protobuf、Java/Pickle 序列化数据以及 Gzip/Brotli/Deflate 压缩值的查看器,并且新增支持 TimeSeries 以及 Vector/ARRAY 类型。
我能用脚本连接,而不是在界面里一个个点吗?可以。应用支持 --host、--port、--auth、--cluster、--ssh-host 以及 SSL/Sentinel 相关标志等命令行参数,你可以直接在终端或脚本中启动某个特定连接。
Creator
qishibo
Size
6.5 MB
Stars
34.8K
Age
7y
Commits · 90 Days