High volume services like Twitter, Pinterest, and Flickr use Redis to deliver small pieces of information very quickly. Redis is ideal for these applications because it stores data in memory and on disk at the same time. Retrieving data from the rows and columns of a database can be slow, so Redis stores data in key-value pairs.
Volume Integration uses Redis in our software product called Volume Analytics. Out of the box, Redis is manipulated via the command line, but we wanted a web interface and monitoring tool to track memory usage and the up/down status of Redis. So we set out to find the best tool for the job.
Reddish is programmed in Node.js and has a very basic interface. It allows for web searching of keys by name or wildcards. The interface also allows editing of values in the datastore.
Reddish was not the right tool for us, as it did not have any way to monitor the service itself.
Redis Commander is also built with Node.js and includes a tree-based navigation of the data with counts of how much data is in each folder. It also enables users to change the configuration settings of the Redis server through the tree.
The interface allows for modification of the configuration and the data elements. At the bottom of the window, Redis Commander provides access to the command-line interface. Redis Commander includes many screens and different options to manage the data in Redis.
We found that if there is a lot of data in Redis, it can take a while for Redis Commander to load the data into the tree. This tool also did not meet our need to monitor the service for usage and uptime.
Redmon is programmed in Sinatra and was the easiest to install. Just run gem install redmon, then start the Redmon server with a single command.
Redmon contains only three screens: monitoring dashboard, CLI, and configuration control. The first screen was exactly what we needed – a graph showing the performance and usage of the system.
The configuration tab allows us to change the settings of the Redis server to improve performance.
The video below shows the entire Redmon interface.
After our evaluation, we selected Redmon. It was the only product that was a monitoring tool. Plus, it fit well into our system since we already use Ruby for other parts of the application. Redis Commander and Reddish would be more suitable for projects that need a visual interface to manage data within Redis.
Let us know how you are using Redis and what interface you use. What is your favorite tool for managing Redis?