Skip to content

honhimW/ratisui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ratisui

Note

Please note that the current project is still in its very early stages of development. Since this is my first Rust project, it might be shit👻👻

gif

Installation

Cargo

cargo install --git=https://github.com/honhimW/ratisui.git

Download

Github release

Build from source

# clone repo
git clone https://github.com/honhimW/ratisui.git
# enter
cd ratisui
# build and run
cargo run

Quick Start

create a data source

  1. Press 's' (open server popup)
  2. Press 'c' (create data source)
  3. config data source
  4. Press 'Enter' for confirm
  5. select data source
  6. Press 'Esc' (close data source popup)
  7. Enjoy!

save configuration, auto save on exit

Data storage

User's data will be stored in ~/.config/ratisui/:

// ~/.config/ratisui/config.ron
(
    fps: Some(45),                               // tui render fps limitation
    scan_size = scan_size: Some(2000),           // redis key scan size
)
// ~/.config/ratisui/databases.ron
(
    default_database: Some("remote standalone"),
    databases: {
        "remote standalone": (
            host: "standalone.host",
            port: 6379,
            username: Some("foo"),
            password: Some("bar"),
            use_tls: false,
            use_ssh_tunnel: false,
            db: 0,
            protocol: RESP3,
        ),
        "remote cluster": (
            host: "cluster.host",
            port: 6000,
            username: None,
            password: Some("password"),
            use_tls: false,
            use_ssh_tunnel: false,
            db: 0,
            protocol: RESP3,
        ),
    },
)

Features

Connection mode

  • standalone mode
  • cluster mode

Data Type

  • String
  • List
  • Set
  • Sorted Set
  • Hash
  • Stream

Explorer

  • Key scan (Fuzzy/Pattern)
  • Keys tree
  • Key create, rename, delete
  • Async query & render
  • Highlight & format for raw data
    • UTF-8/Hex deserialization
    • Java deserialization (jaded)
    • Protobuf deserialization (protobuf)
    • JSON highlighter (tree-sitter-json)
    • XML highlighter (tree-sitter-html)
    • RON highlighter (tree-sitter-ron)
  • Table view for list, set, sorted set, hash

Command line tool

  • Auto Completion
  • Command history
  • Command execution
  • Monitor/(P)Subscribe listening
  • Output format

Misc

  • Logger viewer
  • Non-blocking command execution
  • Configuration persistence
  • Use SSH tunnel

TODO

  • nothing to do...🤔