• Stars
    star
    234
  • Rank 171,630 (Top 4 %)
  • Language
    Go
  • License
    MIT License
  • Created over 3 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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 explaining how it works

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.