We are now, simply, Redis
RedisInsight is an easy and intuitive GUI for Redis, allowing you to oversee all your databases and manage your data, with built-in support for the most popular Redis modules. It provides tools to analyze your database’s memory usage and profile its performance.
With the latest release, RedisInsight 1.6, RedisInsight hits another important milestone with new capabilities and enhancements designed to make your developer experience even more enjoyable. In this blog post, you’ll learn all the details about the latest developments in RedisInsight.
Since the beginning of the year, we have released several new versions of RedisInsight. Each one included a mix of new capabilities, enhancements, and bug fixes. Key highlights include:
The latest RedisInsight 1.6.0 is available for both local installation and as a Docker container. Here’s how:
Download RedisInsight for Windows, Mac, and Linux from the Redis website.
docker run -v redisinsight:/db -p 8001:8001 redis/redisinsight:latest
You can find more information on installing RedisInsight in the documentation.
Since Version 1.2.2, RedisInsight notifies you when a new update is available. Alternatively, you can upgrade RedisInsight by simply uninstalling and reinstalling the application from your operating system. Note that updating persists all your preferences, and especially all the database connection details.
RedisGears beta support in RedisInsight
RedisGears is a dynamic framework that enables developers to write and execute functions that implement data flows in Redis, while abstracting away the data’s distribution and deployment. You can use RedisGears to improve application performance and process data in real time. RedisGears lets you program in Redis, deploy functions, and run your serverless engine where your data lives. (You can learn more about RedisGears in this blog post: Announcing RedisGears 1.0: A Serverless Engine for Redis.)
RedisInsight 1.6 includes a new tool—accessible from the application’s main menu—that lets you interact with the RedisGears serverless engine. With this new tool, you can explore the history of the latest executed functions and analyze the results (and eventually the errors) of those functions. You’ll get a summary of the execution, as well as the result data, depending on what your function is actually doing.
With RedisGears, you can also register functions to be triggered by specific events on your data. Within RedisInsight, you can manage and explore the registered functions—the UI displays all the functions running in Redis at a quick glance.
Finally, we also added a simple code editor. Obviously, we’re not trying to replace your favorite IDE or development tool, but an integrated editor lets you quickly write a script to process data in real time or capture when a particular event is happening with your data.
This new capability is currently in beta, so we’re excited to hear your feedback and thoughts on the Redis Community Forum.
Redis 6 and access control lists (ACLs) support
RedisInsight is now fully compatible with Redis 6—they work seamlessly and transparently together.
One of the key new capabilities introduced with Redis 6 is access control lists. ACLs bring the concept of “users” to Redis, which lets you control what level of Redis access each user has. You can configure which commands specific users can execute and which keys they can access. This allows for much better security practices: you can now restrict any given user’s access to the least level of privilege needed. This is particularly helpful if you are building different services in your application: You can create dedicated users to grant only a specific set of commands on the database. ACLs allow users access to only particular commands, keys, or even patterns of keys based on user-based specified permissions.
Each defined user can have its own password. Now, when you connect to Redis from RedisInsight, you can specify the user you want to connect with, as well as the password, as shown here:
Note: In order to use RedisInsight, a user must have at least the permissions to run the following commands: INFO and PING. Those commands are used for properly configuring RedisInsight with Redis.
RedisInsight provides most capabilities with an easy UI, but in certain cases you might still need to run some advanced commands. For those purposes, we have integrated a web CLI into RedisInsight, so you have it handy and always ready to interact with your database. In the latest version of RedisInsight, the CLI has been improved by removing most command restrictions and providing better support for output formatting.
We initially limited the list of commands that a RedisInsight user could execute on the database. But we heard from our users that those limitations were not always helpful and that most of you would just like to run all commands as you do with redis-cli. That’s why RedisInsight’s integrated CLI can now run all non-blocking commands supported in the redis-cli.
If you are already familiar with how the redis-cli lets you interact with data and renders the data structures, we are now rendering them exactly the same way in RedisInsight 1.6. You’ll feel at home when switching between them.
Last but not least, the escape-string inputs and outputs are also rendered the same way as in redis-cli.
Note: The RedisInsight CLI does not currently support a few blocking commands, as well as some commands that do not return standard streaming responses: MONITOR, SUBSCRIBE, PSUBSCRIBE, SYNC, PSYNC, SCRIPT DEBUG
Multi-line query editing
We’ve made it easier to build and edit queries for RediSearch, RedisGraph, or RedisTimeSeries as you can now better structure them by using the multi-line editor. Often, however, your queries will need multiple lines, either because it’s a long query, or because you would like to structure it for easier understanding. So we improved the query editor to allow using multiple lines:
In order to use the multi-line query editor, just:
You’ll notice that the formatting of your queries is protected in the history of your queries (when navigating using the Down Arrow or Up Arrow keys to see your previously executed queries).
Secure connection: TLS support
To prevent unauthorized access to your data and to encrypt the communication between the database and the clients, you can enable the Transport Layer Security (TLS) protocol on your Redis Enterprise databases. (To learn more about configuring TLS on your Redis Enterprise databases, refer to the Configuring TLS Authentication and Encryption in the Redis Enterprise documentation.)
When TLS is enabled, Redis Enterprise sends its client certificate to the database for authentication. To configure your database with TLS enabled, use the choices shown in the screenshot below:
If your database requires client authentication for mutual authentication, just select “Require TLS Client Authentication” in the “Add Redis Database” form—you’ll have the ability to provide the certificate-key pair as shown here:
Auto-discovery of Redis databases
The latest version of RedisInsight makes it possible to configure connection details of your Redis Enterprise Software or Redis Enterprise Cloud databases with a single-click. Click on the “ADD REDIS DATABASE” button to search for databases from different locations, as shown here:
In Redis Enterprise, you can explore databases on a particular cluster. Just provide the connection details and your databases will be listed, which lets you select and configure them in RedisInsight:
Configuration is even easier in Redis Cloud Enterprise (Pro Subscriptions only), as you have to provide only your account key and secret key to connect your Redis Enterprise Cloud account and get the list of all your databases, as shown here:
If you have multiple subscriptions, you can choose from which ones you want to connect the databases:
Note: You can learn more in the Automatically Discovering Databases section of the RedisInsight documentation.
Full-screen mode in RedisGraph, RedisTimeSeries, and RediSearch
Integrated in the latest version of RedisInsight is the ability to maximize the space used for interacting with graphs or with the data from RediSearch or RedisTimeSeries. This is convenient when you need to explore a large set of data. You can also use this capability when you are screensharing or showcasing your models.
You can find the other notable enhancements and all bug fixes in the Release Notes section of the RedisInsight documentation.