Redis Enterprise Software (earlier known as “Redis Labs Enterprise Cluster”) is a robust in-memory but persistent on disk database . Redis Enterprise Software, RS in short, enhances the speed and the versatility of Redis with robust reliability, ease of use, cost savings, and new advanced capabilities. RS is today maintained and run by Redis Labs which has around 7,100 enterprise customers, including seven Fortune 10 companies, three of the four credit card issuers, three of the top five communication companies, three of the top five healthcare companies, six of the top eight technology companies, and four of the top seven retailers to name a few.
RS brings various enterprise-grade capabilities which are listed below:
- Redis on Flash
- Geo-Distributed Active-Active Conflict-free Replicated Redis Databases (CRDB)
- Seamless scalability
- True high availability
- Built-in data persistence
- Backups and replication
- Predictable high-performance
- Multiple dedicated databases
- Unlimited database connections
- Full-featured management UI Cluster Automation
Why Redis on Docker?
Redis is the most popular database used with Docker containers. Docker brings a great deal of benefits when working with Redis Enterprise Software. Containers help scale-minimize Redis Enterprise Software and fit it right into your development environment. You can run a full cluster locally on your Windows, macOS or Linux host within few seconds.
I attended Redis Day Event which happened in Bengaluru last month. As per Docker Hub Jan 2020 statistics, 5.4 Million Launches per day have been reported which is really overwhelming figure.
Under this blog post, we will see how Redis Enterprise can be setup using Docker container in 5 Minutes.
Deploying Redis Enterprise inside Docker Container
- Play with Docker Platform
- Redis Enterprise Software Docker image works best when you provide a minimum of 2 cores and 6GB ram per container. You can find additional minimum hardware and software requirements for Redis Enterprise Software in the product documentation
docker run -d --cap-add sys_resource --name rp -p 8443:8443 -p 9443:9443 -p 12000:12000 redislabs/redis
Visit http://IP:8443 to open Redis Labs Enterprise Software.
Note: The Docker container with RS runs on your localhost with port 8443 open for HTTPS connections, 9443 for REST API connections, and port 12000 open for redis client connections. You can publish other ports with -p <host_port>:<container_port>.
Click on "Setup".
In the Node Configuration settings, enter a cluster FQDN such as cluster.local. Then click Next button.
Supply Cluster Name as "collab-cluster".
Click "Next". If you purchased a cluster key please insert it in the field below and click Next. If you would like to use the free version just click Next. We will use trial version.
Add you entry and click "Next".
Setup Admin Credentials
Once you click "Next" it will create a cluster for you
Wait for few seconds and you will see the below page which will refresh your page and you will be sooner welcome with Redis Enterprise UI.
Accessing Redis Enterprise UI
It's time to create a new database.
Select "redis database" and the "single region" deployment, and click Next.
Click on "Advanced Option". You can supply 1GB as Memory and add port 12000. Add "collabdb" as database.Click on "Activate". At this point of time, keep the rest of entries by default.
Once you click "Activate", do verify the entries as shown below:
Connect to your Database
$ docker exec -it rp bash redislabs@fd8dca50f905:/opt$
/opt/redislabs/bin/redis-cli -p 12000 127.0.0.1:12000> auth <enter password> OK 127.0.0.1:12000> set key1 123 OK 127.0.0.1:12000> get key1 "123"
If you are looking out for a tool to inspect your Redis data, monitor health and perform runtime server configuration with a browser-based management interface for your Redis deployment, then RedisInsight is the right solution. RedisInsight is a lighweight multiplatform Management GUI for Redis. It is supported on Mac, Linux & Windows system.
Let us go ahead and try to bring up RedisInsight quickly using Docker container.
docker run -v redisinsight:/db -p 8001:8001 redislabs/redisinsight
Click on "Add Redis Database". Choose "Add Database".
Pass on 172.18.0.3 as IP, db1 as database, 12000 as port and click Enter.
Click "Add Redis Database" to get your DB added.
RedisInsight should be able to display UI for your database.