p3x-redis-ui is a new Redis GUI which can serve as a backend server or as a desktop application.
Some of the features are coming below.
The best use case for this Redis GUI, if you manage tons of JSON, as it includes JSONEditor and ACE. Check out the different options in the edit json button dialog. :)
It is not recommend to generate the configuration
JSON via a text editor. The perfect solution is to generate the configuration in the GUI, then apply for example in Kubernetes.
This Redis database every day in the morning European time CET restores some data, so you may do whatever you want to do.
Besides, you could experience the test app to exit for 1 second, because it could auto update itself. It auto updates itself when the code from Git changes.
Third, it is a snapshot, it is possible, that the features are different from GitHub or NPM as the releases are usually monthly or as they happen.
sudo add-apt-repository ppa:appimagelauncher-team/stable sudo apt-get update sudo apt-get install appimagelauncher
AppImage, make it an executable.
mkdir -p $HOME/opt mv ~/Downloads/p3x-redis-ui-a.b.c-x86_64.AppImage $HOME/opt/ chmod +x $HOME/opt/p3x-redis-ui-a.b.c-x86_64.AppImage Then you can run it HOME/opt/p3x-redis-ui-a.b.c-x86_64.AppImage &
(The GitHub versions are always instant, while the ElectronJs Apps releases are delayed.)
Start up with a server or via a browser and NodeJs/NPM.
Some description about the config file readme
wget https://raw.githubusercontent.com/patrikx3/redis-ui/master/docker-compose.yml You might want to tune the settings folder in the docker-compose.yml. the /home/user/p3x-redis-ui-settings settings folder in yml should be set by yourself. docker-compose up
you can tune the settings folder in the -v first part is where you can set your own folder mkdir -p ./p3x-redis-ui-settings docker run -v $PWD/p3x-redis-ui-settings:/settings -h docker-p3x-redis-ui -p 7843:7843 -t -i patrikx3/p3x-redis-ui
The GUI will be @ http://localhost:7843
A complete example of deployment
p3x-redis-ui in kubernetes using raw manifests
kubectl apply -f namespace.yaml Do not forget to edit redis host and password configuration kubectl apply -f configmap.yaml kubectl apply -f deployment.yaml kubectl apply -f service.yaml kubectl apply -f ingress.yaml
p3x-redis-ui deployment in kubernetes
helm template -f values.yaml release --namespace namespace . > generated.yaml kubectl apply -f generated.yaml
v2020.4.189, the tree can handle bigger key count, as of now, we are using deferred rendering for the tree - only rendering what is in the viewport, so it should be much faster versus rendering everything at once
For file names do not use camelCase, but use kebab-case. Folder should be named as kebab-case as well. As you can see, all code filenames are using it like that, please do not change that.
Please apply the
.editorconfig settings in your IDE.
It creates a package that allows you to compose
p3x-redis-ui-material into one:
Server on GitHub
Client on GitHub
If you develop on this app, you are required to test, that all JS you code write is working with Electron (as the embedded Electron NodeJs version is usually below the real NodeJs). Once the server and client is running as above, you clone this repo and test like this:
terminal 1 git clone https://github.com/patrikx3/redis-ui-material.git cd redis-ui-material npm install npm run dev terminal 2 git clone https://github.com/patrikx3/redis-ui-server.git cd redis-ui-server npm install npm run dev if you are not working on Electron, at this point you can fire the browser @ http://localhost:8080/ terminal 3 git clone https://github.com/patrikx3/redis-ui.git cd redis-ui npm install ./scripts/start-local.sh or .\scripts\start-local.cmd
By default, only English is created, but given all strings are from a
JS file, it is very quick to spawn another language eg. German, French, Spanish etc ...
English strings, for the web UI
English strings, for the Electron
For a new language:
This solution is not using REST at all, but instead uses Socket.IO , which is weird, but I like it, it is supposed to be more responsive, as there is no big overhead in the HTTP protocol.