Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DOC UPDATE] Updates RedisInsight docs, adds new sections #146

Open
wants to merge 40 commits into
base: main
Choose a base branch
from

Conversation

nermiller
Copy link
Contributor

This is a restructure and enhancement of existing RedisInsight docs. Added new sections for get started, features (tools), and examples.

@netlify
Copy link

netlify bot commented Feb 23, 2023

Deploy Preview for redis-stack-docs ready!

Name Link
🔨 Latest commit 366fcfd
🔍 Latest deploy log https://app.netlify.com/sites/redis-stack-docs/deploys/64423fa1a0bbca000822c267
😎 Deploy Preview https://deploy-preview-146--redis-stack-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@nermiller
Copy link
Contributor Author

@ViktarStarastsenka please review this initial restructure and update.

@nermiller nermiller requested a review from K-Jo February 23, 2023 07:04
Applies Viktar's feedback

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Applies Viktar's feedback
Copy link
Contributor Author

@nermiller nermiller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applies Viktar's feedback

docs/ui/insight/examples.md Outdated Show resolved Hide resolved
docs/ui/insight/tools.md Outdated Show resolved Hide resolved
docs/ui/insight/tools.md Outdated Show resolved Hide resolved
docs/ui/insight/tools.md Outdated Show resolved Hide resolved
docs/ui/insight/get-started.md Show resolved Hide resolved
docs/stack/about/index.md Outdated Show resolved Hide resolved
docs/ui/insight/get-started.md Outdated Show resolved Hide resolved
docs/ui/insight/examples.md Outdated Show resolved Hide resolved
@nermiller nermiller requested review from ViktarStarastsenka and rrelledge and removed request for ViktarStarastsenka April 12, 2023 06:16

1. Open the Linux command line and install the package.

* For Debian, run:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's display the AppImage option first because it is for any common Linux distributions (including Debian), and we can say it like this:

  • For the.AppImage package:
    • To make your downloaded file...
  • For the.deb package, run:

because both options may work for Debian


## Add a Redis database

You can add a Redis database manually, create a new Redis Enterprise Cloud database, or connect to an existing database. To try Redis Enterprise Cloud, select **Try Redis Cloud with enhanced database capabilities**.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what if we will say something like this?

If you already have a Redis database, you can add it manually by specifying connection details, or auto-discover your Redis Enterprise Cluster or Cloud databases, as well as your Redis Sentinel instances.
If you need a free Redis database with modern data models and processing engines, select Try Redis Cloud with enhanced database capabilities.


You can add a Redis database manually, create a new Redis Enterprise Cloud database, or connect to an existing database. To try Redis Enterprise Cloud, select **Try Redis Cloud with enhanced database capabilities**.

If you already have Redis database up and running locally, select **Autodiscover Databases**.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you already have Redis databases up and running locally, RedisInsight will automatically search for it and add it if found.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

users can't manually trigger the auto-discovery for local databases


If you already have Redis database up and running locally, select **Autodiscover Databases**.

Enter the requested details, then click **Submit** or **Add Redis Database**.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's remove it since it describes only manual flow, not auto-discovery


---

**Browser** offers [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) support for lists, hashes, strings, sets, sorted sets, streams, as well as for [RedisJSON](/docs/stack/json).
Copy link
Collaborator

@ViktarStarastsenka ViktarStarastsenka Apr 13, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Browser is a powerful tool to visualize and interact with the data stored in your Redis and Redis Stack database.

With the Browser tool, you can explore Redis keys, their values, and metadata, as well as perform CRUD (create, read, update, and delete) operations on strings, hashes, sets, sorted sets, lists, streams, and RedisJSON.

Navigate through and analyze your list of keys quicker by grouping keys per their namespaces using the Tree view, or use filters per key name or Redis data type to find the keys you need.

The Browser tool also helps you to view, validate, and manage your key values in a human-readable format using formatters that prettify and highlight data in different formats (for example, Unicode, JSON, MessagePack, HEX, ASCII, etc.), as well as automatically decompress your data to display it in a human-readable format, supporting GZIP, LZ4, SNAPPY, and other compressions.

Leverage the Search capability to see and work with found keys and their values, or use a dedicated form to create a secondary index.

Delete keys in bulk from your Redis or Redis Stack database based on the filters set in Browser using Bulk Actions.


---

The CLI is accessible at any time within the application. It includes:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While RedisInsight provides a comprehensive graphical interface for managing Redis or Redis Stack, there are many advanced operations that you can perform only by a command-line interface. For such cases, you can use RedisInsight CLI which supplements the graphical interface and provides you greater flexibility and control over your database by running Redis commands.

RedisInsight CLI is accessible at any time within your database, allowing you to run Redis commands while investigating the list of keys in Browser, receiving or publishing messages in Pub/Sub, troubleshooting performance issues, or optimizing the performance and memory usage of your database based on recommendations displayed in Database Analysis.

It includes a type-ahead help to assist with the syntax of Redis commands. Also, RedisInsight CLI is integrated with Command Helper which allows you to read about your Redis command used in CLI, or filter and search for any Redis command to learn more about its purpose and syntax.

* Automatically discover and add your local Redis or Redis Stack databases (that use standalone connection type and do not require authentication).
* Discover your databases in Redis Enterprise Cluster and databases with Flexible plans in Redis Cloud.
* Use a form to enter your connection details and add any Redis database running anywhere (including OSS Cluster, Sentinel).

Copy link
Collaborator

@ViktarStarastsenka ViktarStarastsenka Apr 13, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before viewing and interacting with your data, optimizing your Redis or Redis Stack database, or troubleshooting performance issues, you must first add the database so RedisInsight can connect to it.
While all your local Redis or Redis Stack databases with the standalone connection type and without any authentication will be automatically identified and added to your list of database connections when RedisInsight launches for the first time, there are many cases when you need to add database connections to work with them via RedisInsight.
To do so, you can use one of the available options:

  • Discover your databases in Redis Enterprise Cluster and databases with Flexible plans in Redis Cloud, as well as primary groups from Redis Sentinel
  • Use a form to enter your connection details and add any Redis database running anywhere

RedisInsight also supports database connections via SSH tunnels using a password or private key in PEM format.


---

Analyze every command sent to Redis in real time.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Debug, monitor the performance and security of your Redis or Redis Stack instance using the Profiler tool.
Profiler is a tool based on Redis MONITOR command that streams back every command processed by the Redis server in real-time.
Profiler can help you:

  • debug issues with your database
  • diagnose issues and identify problematic commands
  • identify performance issues and bottlenecks
  • detect suspicious activity such as unauthorized access attempts or unusual commands being sent to the Redis server
  • spot bugs in an application both when using Redis or Redis Stack as a database and as a distributed caching system

Because MONITOR streams back all commands, its use comes at a cost of reducing the throughput of your database, so avoid running Profiler in production databases.

RedisInsight also allows you to download the file with all the logs streamed back to analyze them outside of the application. Enable saving before starting the Profiler to save the logs into a .TXT file.

Copy link
Collaborator

@rrelledge rrelledge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

docs/ui/insight/get-started.md Outdated Show resolved Hide resolved
docs/ui/insight/get-started.md Outdated Show resolved Hide resolved
docs/ui/insight/get-started.md Outdated Show resolved Hide resolved
docs/ui/insight/get-started.md Outdated Show resolved Hide resolved
docs/ui/insight/plugins/plugin-development.md Outdated Show resolved Hide resolved
docs/ui/insight/tools/database-analysis.md Outdated Show resolved Hide resolved
docs/ui/insight/tools/database-analysis.md Outdated Show resolved Hide resolved
docs/ui/insight/tools/slow-log.md Outdated Show resolved Hide resolved
docs/ui/insight/tools/slow-log.md Outdated Show resolved Hide resolved

Create and manage streams by adding, removing, and filtering entries per timestamp. To see and work with new entries, enable and customize the automatic refresh rate.

View and manage the list of consumer groups. See existing consumers in a given consumer name as well as the last messages delivered to them. Inspect the list of pending messages, explicitly acknowledge the processed items, or claim unprocessed messages via RedisInsight.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this should be a list?

---

If you're using Redis Stack's indexing, querying, or full-text search capabilities, RedisInsight provides UI controls to run search queries against a preselected index. You can also create a secondary index of your data in a dedicated pane.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Search for keywords and phrases within your documents stored as Redis hashes or JSON with dedicated UI controls to run search queries against a pre-selected index.
If you use the Search capability and would like to use dedicated UI in RedisInsight, then open the search by values of keys in Browser, select your index, insert the search query, and run it. After that, RedisInsight will display the list of keys found in List or Tree view.

RedisInsight also provides UI controls to create a new secondary index of your data where you need to specify basic index information in order to create one.


The Slow Log tool displays the list of logs captured by the `SLOWLOG` command to analyze all commands that exceed a specified runtime, which helps with troubleshooting performance issues. Specify both the runtime and the maximum length of Slowlog (which are server configurations) to configure the list of commands logged and set the auto-refresh interval to automatically update the list of commands displayed.

<img src="../../images/slowlog.png">
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Slow Log is a valuable tool for monitoring and improving the performance of Redis and Redis Stack databases.
It helps identify Redis commands that are running slowly and that can negatively impact the performance of your database, as well as different issues such as increased latency or reduced throughput.
To start, open Slow Log under the Analysis Tools, specify both the runtime and the maximum length of Slowlog to configure the list of commands logged, and set the auto-refresh interval to automatically update the list of commands displayed.
Then, RedisInsight will use the power of Redis SLOWLOG to capture the list of slow commands.
When commands are captured, you can investigate Redis commands that are taking a long time to execute to optimize them in particular and your Redis or Redis Stack database in general, leading to faster response times and improved application performance.


* Visualizations of your [RedisTimeSeries](https://oss.redis.com/redistimeseries/) data.

<img src="../../images/Workbench_TimeSeries.png">
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Workbench is an advanced command-line interface that lets you run commands against your Redis or Redis Stack database.
Workbench supports auto-complete and syntax highlighting for Redis commands, and it is built based on the Monaco Editor, which experience and shortcuts are familiar to developers.
Workbench provides data visualizations for many Redis and Redis Stack capabilities, such as search capability, graph and time series, CLIENT LIST command.
And Workbench allows you to extend the core functionality by building your own data visualizations.

Discover and learn Redis and Redis Stack features and capabilities using interactive guides and tutorials that are build in Workbench.
Share your Redis expertise with your team and the wider community by building custom RedisInsight tutorials. The tutorials use markdown and are easy to write. They are an ideal way to describe practical implementations of Redis so users can follow and interact with commands in the context of an already connected Redis database. Check out these instructions to start creating your own tutorials. Let the community discover your content by labeling your GitHub repository with redis-tutorials.

With the **Browser** tool, you can:

* Explore Redis keys, their values, and metadata
* Perform create, read, update, and delete (CRUD) operations on strings, hashes, sets, sorted sets, lists, streams, and JSON.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest the list of data types with"... on datatypes" with a link to the data types section https://redis.io/docs/data-types/


* Explore Redis keys, their values, and metadata
* Perform create, read, update, and delete (CRUD) operations on strings, hashes, sets, sorted sets, lists, streams, and JSON.
* Navigate through and analyze your list of keys quicker by grouping keys per their namespaces using the Tree view, or use filters per key name or Redis data type to find the keys you need.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A suggestion regarding "... their namespaces ...". Redis doesn't support/implement namespaces. It's just a vaguely defined best practice on how to organise your namespace to be able to query it with SCAN command, etc

Considering this fact, we should educate users by providing a link here to this best practice https://redis.io/docs/data-types/tutorial/#keys

When the bulk deletion is completed, RedisInsight displays the results of this operation with the number of keys processed and the time taken to delete the keys in bulk.
Use bulk deletion to optimize the usage of your database based on the results from the Redis database analysis.

<img src="../../images/bulk_actions.png">
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest highlighting the "Bulk Actions" button on the screenshot. It's hard to find it on the full app screenshot if you look at it for the first time.


RedisInsight CLI includes a type-ahead help to assist with the syntax of Redis commands. Also, RedisInsight CLI is integrated with Command Helper which allows you to read about your Redis command used in CLI, or filter and search for any Redis command to learn more about its purpose and syntax.

Try executing Redis commands as shown here.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are no executed commands on the screenshot, and it's blurry.

Also, why not mention the Workbench here as a more advanced tool with better visualisation capabilities?


RedisInsight CLI is accessible at any time within your database, allowing you to run Redis commands while:

* Investigating the list of keys in **Browser**.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably, we should add the link here to the Browser page.

@@ -0,0 +1,18 @@

---
title: Connection management
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This page doesn't answer the following questions that users might have:

  • How to connect to Redis Cloud, with the link to Cloud quick start
  • How to connect to Redis Cloud with TLS-enabled endpoint
  • How to connect to Redis Enterprise running in the K8S
  • How to connect to Redis/Redis Stack through SSH tunnel


RedisInsight displays the list of keys found in the List or Tree view.

<img src="../../images/search.png">
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, there is no highlighting for the specific UI elements discussed on this page.

aliases:
---

Create and manage streams by adding, removing, and filtering entries per timestamp. To see and work with new entries, enable and customize the automatic refresh rate.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add the link here to the "Stream" data type page.

@@ -0,0 +1,10 @@
---
title: "RedisInsight tutorials"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are missing here an important tutorial "Optimising your Redis with RedisInsight" which covers the following questions:

  • What is the difference between the "Profiler", "Database analysis" and "Slowlog"?
  • How to use the mentioned tools together to solve some typical problems (e.g. use StackOverflow top questions as inspiration)?
  • Explain how to keep your Redis optimised with Insights once it's released

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

RedisInsight streams tutorial link is a 404 error
5 participants