Image license: CC0 Public Domain.

Launching Regis

By Martin on .

It is with much trepidation and excitement that I announce the launch on the Mac App Store of Regis, a drastically different Redis Graphical User Interface (GUI).

How is it drastically different? Well, if you’ve looked at existing database GUIs - and Redis GUIs specifically - many seem to feel like it is their duty to provide as many widgets as possible, maybe as a way to justify the GUI approach.

Regis’ philosophy is different. Drastically different, dare I say.

The minimalist user interface of Regis.
The minimalist user interface of Regis.

Instead of burying features behind graphical widgets to click and select, it fully embraces the request-response nature of Redis. Because obviously, at its core Redis works by executing commands and receiving results. Regis doesn’t attempt to hide this fact, it brings it front and center with a command box at the bottom of the window, and the output section on top.

Reminiscent of the redis-cli, the command-line tool that comes with the Redis server? Absolutely. I strongly believe this is the best paradigm to interact with a Redis database. Where Regis shines is in how it builds powerful features on top of this, and how it provides a familiar and convenient integrated experience to users as a native Mac app.

  • Multiple Sessions, Flexible UI

    At the heart of Regis is a multiple windows, multiple tabs per window user interface where each tab is an independent Redis session. Once connected to a Redis host, each session can execute commands and display results.

  • Rich Output To Display Results

    The Redis result can be displayed as an unformatted string (as received), as JSON and as binary (either formatted as base64, hexadecimal or raw binary - zeroes and ones - most useful when the value is a Redis string manipulated with the SETBIT or BITOP commands). The JSON output can present either the JSON-encoding of the value or the value interpreted as JSON, pretty-printed (useful when the key holds JSON content). Valid array values can be formatted as JSON objects (when the array holds alternating keys and values and keys are strings).

  • Extended Features Via Built-In Commands

    In addition to the full support of all Redis commands, Regis provides powerful built-in commands with custom output. The most basic ones may be CONNECT and DISCONNECT, while others like SCANKEYS and REALTIME make some more complex tasks such as batch-deleting a set of keys returned by a SCAN or watching a key’s value in real-time trivial to achieve.

Custom output for built-in commands.
Custom output for built-in commands.
  • Configure The Session To Make It Production-Safe

    Multiple settings are provided to ensure you don’t accidentally overload the Redis server. Limit the number of active connections, the number of arguments in a command, the number of commands in a pipeline execution, blacklist some commands, etc.

  • Save A Session, Load It Back Later

    Once a session is carefully configured, save it with a name and quickly go back to it later with the LOADSESSION built-in command. It will automatically apply the saved settings, connect to the same database, and authenticate with the same password if there was one. Passwords are securely saved in the Mac’s Keychain.

  • Integrated Help

    It’s easy to forget the parameters to a particular command. Get help on any command - Redis or built-in - with the HELP (or ?) built-in.

  • Command History & Completion

    Navigate through your command history to bring back a previously executed one, or use command completion to show suggestions based on the currently typed command. Suggestions include history matches.

Regis is all this and much more, delivered through the Mac App Store for US$29.99 with dead simple installation and updates and the peace of mind of a safe, sandboxed application. Head over to the quick start guide to get started in minutes, or check out the complete documentation for all the details.

And beyond that v1.0.0 launch, we are strongly committed to provide excellent support, stability and bug fixes and a carefully selected set of new features that integrate well with the app’s philosophy.

Even though this has been months of work, today feels like the beginning of exciting times! Be sure to follow us on Twitter for occasional news and updates!