Skip to content

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

License

Notifications You must be signed in to change notification settings

obukhov/redis-inventory

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages