Redis is an advanced key-value store. In fact, it is the number one key value store and eighth most popular database in the world. It has high throughput and runs from memory, but also has the ability to persist data on disk. Redis is a great caching solution for highly demanding applications, and there are many solutions available to help you deploy and manage Redis in the cloud. In this post, we are going to compare ScaleGrid for Redis™ vs. Azure Cache for Redis performance and management features to help you pick the best managed solution for your Redis deployment.
ScaleGrid is a DBaaS provider that provides fully managed hosting not only for Redis™, but also for MongoDB® database, MySQL, and PostgreSQL. The Bring Your Own Cloud (BYOC) plan hosts the database server in your own AWS, Azure or GCP account.
Azure provides a hosted service for Redis called Azure Cache for Redis.
At a glance – TLDR
ScaleGrid for Redis™ vs. Azure Cache for Redis Performance Benchmark
In this benchmark, we measure the performance in throughput and latency. Throughput is measured in operations per second (ops/sec), and latency in microseconds. Check out our Benchmark Configurations section later on in this post for information on how this performance benchmark was configured.
We have benchmarked Redis™ performance with the following setups.
|Provider||Plan Size||RAM||Monthly Cost|
|ScaleGrid for Redis™||Dedicated Hosting Large on Azure||7GB memory||$607|
|Azure Cache for Redis||C3 Standard – Moderate network bandwidth||6GB memory||$328.50|
|Azure Cache for Redis||P1 Premium – Moderate network bandwidth||6GB memory||$404.42|
|Azure Cache for Redis||P2 Premium – High network bandwidth||13GB memory||$810.30|
|Connections||ScaleGrid for Redis™
C3 Std. 6GB
|As we can see in the above graph, ScaleGrid for Redis™ achieves approximately 5x higher throughput compared to Azure Cache for Redis when benchmarked with 100-400 connections. For example, while the Azure Cache for Redis P2 Premium 13GB plan manages around 36,000 ops/sec during all connection scenarios, ScaleGrid for Redis™ has over 130 000 ops/sec for all the scenarios.|
|Connections||ScaleGrid for Redis™
C3 Std. 6GB
|While Azure Cache for Redis latency increases rapidly as the number of connections grow, ScaleGrid for Redis™ steadily achieves low latency across all connection counts. On average, ScaleGrid for Redis™ has 85% lower latency than Azure Cache for Redis. This is especially noticeable when comparing Azure Cache for Redis (C3 Standard 6GB) to ScaleGrid for Redis™, where the difference is up to -99%.|
As you can tell from the above graphs, ScaleGrid for Redis™ provides significantly higher throughput and lower latency. On average we can see approximately 5x the throughput and 85% lower latency compared to equivalent sizes on Azure Cache. The ScaleGrid for Redis™ BYOC plan starts at $9 per month (720h + VM costs) and $18 per month (720h) for the Dedicated hosting plan.
Let’s take a look at the configurations we used in the performance benchmark:
|Benchmark Tool||Memtier Benchmark|
|Azure Region for Redis||East US|
|Azure Region for Application||East US|
For each Redis™ server, we have benchmarked with 100, 200, 300 and 400 connections. Each connection sends 10,000 requests with 32 bytes object data size per request. We use non-SSL connections to connect Redis™ servers.
Not only can ScaleGrid provide higher throughput and lower latency, it also brings many other features such as full admin access, scheduled backups and SSH access. You can find more information about ScaleGrid for Redis™ on Azure, on our website.
What to consider when choosing a Redis™ service?
So, with so many fully managed Redis™ service provider options, what are the most important features to look out for? Here is a checklist to use when choosing the right Redis hosting service for you:
Redis is a single-threaded server where data is stored in memory; therefore, having Redis running on a dedicated server is very important in a production environment. You don’t want your Redis server battling for CPU and memory resources with other services.
Businesses grow, and the same for your data. It’s very important that your Redis service is able to perform a dynamic, in-place scale up of your Redis server with little or no downtime.
Depending on your business needs, you might need to persist your Redis data on physical storage. Redis provides two persistence options: RDB and AOF.
RDB is a point-in-time snapshots of your dataset at specified intervals to a Redis Database Backup file. The file can be transferred to other Redis instances.
AOF stands for Append Only File. Redis logs every write operation which has been modified in your dataset. It is a very reliable way to persist your data.
Both RDB and AOF can be enabled at the same time and they have different trade offs. For more details about their pros and cons, you can read more on Redis Persistence page on redis.io.
Your Redis service should provide options not only to persist the data, but also to deploy Redis in master/replica or cluster mode to minimize the chance of data loss.
Backups & Restores
Any Database as a Service (DBaaS) for Redis should also provide scheduled and on-demand backups so you can ensure you always have a regular schedule of backups available, and can perform them as needed before an application event. It should also provide “restore backup” options to existing databases or to a new database instance.
High Throughput & Low Latency
Redis can provide fast caching for applications. However, sometimes network latency can bottleneck accessing data from Redis. The key is to avoid physical distancing between your application and Redis. So, you want to make sure both the application and Redis are hosted on the same cloud provider region and on the same virtual network. Your Redis service provider should have the option to deploy your Redis server on the virtual network of your choice.