/redis-inventory

CLI tool to see redis memory usage by keys in hierarchical way. Think of disk inventory but for redis.

Primary LanguageGoMIT LicenseMIT

Redis Inventory

Build Status Coverage Status Go Report Card Docker Pulls

Redis inventory is a tool to analyse Redis memory usage by key patterns and displaying it hierarchically. The name is inspired by "Disk Inventory X" tool doing similar analysis for disk usage.

Blog post on how it works: Medium | My blog

Example:

$ redis-inventory inventory <redis-url> --output=table --output-params="padSpaces=2&depth=2&human=1"

<redis-url> can be provided in one of two formats

Outputs it as a nice table

12:39PM INF Start scanning
+---------------------+----------+-----------+
| KEY                 | BYTESIZE | KEYSCOUNT |
+---------------------+----------+-----------+
|   dev:              |     2.9M |     4,555 |
|     article:        |   413.7K |       616 |
|     blogpost:       |   408.5K |       630 |
|     collections:    |   426.7K |       627 |
|     events:         |   391.2K |       614 |
|     friends:foobar: |   501.1K |       745 |
|     news:           |   388.8K |       593 |
|     user:           |     481K |       730 |
|   prod:             |     2.9M |     4,531 |
|     article:        |   397.1K |       614 |
|     blogpost:       |   409.4K |       627 |
|     collections:    |   374.7K |       560 |
|     events:         |   384.2K |       588 |
|     friends:foobar: |     503K |       755 |
|     news:           |   407.9K |       618 |
|     user:           |   492.3K |       769 |
+---------------------+----------+-----------+
12:39PM INF Finish scanning

It also can render sunburst diagrams to visualize it:

$ redis-inventory inventory <redis-url> --output=chart --maxChildren=100

Full sunburst diagram

Read more about usage

Installation

There are two ways to install the tool:

  • use docker image
  • build binary from sources

Using docker

To run the tool from a docker image, run the command:

docker run --rm dclg/redis-inventory inventory <redis-url>

Read more about installation

Kudos

  • Radix — Redis client for Go,
  • Cobra — CLI applications framework,
  • Go-Pretty — tools to render tables and progress bars,
  • AnyChart — beautiful sunburst diagrams.