Redis has been a great investment for our organization as we needed a solution for high speed data caching. The ramp up and integration was quite easy. Redis handles automatic failover internally, so no crashes provides high availability. On the fly scaling scale to more/less cores and memory as and when needed.
We have found it's a great alternative for making older legacy applications work with online databases instead of only on-premises databases. We've converted over a dozen applications this way, and it has allowed our clients to have a distributed workforce using their applications without incurring the expense of a complete application rewrite.
Easy for developers to understand. Unlike Riak, which I've used in the past, it's fast without having to worry about eventual consistency.
Reliable. With a proper multi-node configuration, it can handle failover instantly.
Configurable. We primarily still use Memcache for caching but one of the teams uses Redis for both long-term storage and temporary expiry keys without taking on another external dependency.
Fast. We process tens of thousands of RPS and it doesn't skip a beat.
Maintenance is always an issue, so using a cloud solution saves a lot of trouble.
On premise solutions always suffer from fragmented implementations here and there, where several "dba's" keep track of security and maintenance. With a cloud database it's much easier to keep a central overview.
Security options in SQL database are next level... data masking, hiding sensitive data where always neglected on premise, whereas you'll get this automatically in the cloud.
We had some difficulty scaling Redis without it becoming prohibitively expensive.
Redis has very simple search capabilities, which means its not suitable for all use cases.
Redis doesn't have good native support for storing data in object form and many libraries built over it return data as a string, meaning you need build your own serialization layer over it.
One needs to be aware that some T-SQL features are simply not available.
The programmatic access to server, trace flags, hardware from within Azure SQL Database is taken away (for a good reason).
No SQL Agent so your jobs need to be orchestrated differently.
The maximum concurrent logins maybe an unexpected problem.
Sudden disconnects.
The developers and admin must study the capacity and tier usage limits https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits otherwise some errors or even transaction aborts never seen before can occur.
Only one Latin Collation choice.
There is no way to debug T-SQL ( a big drawback in my point of view).
We will definitely continue using Redis because: 1. It is free and open source. 2. We already use it in so many applications, it will be hard for us to let go. 3. There isn't another competitive product that we know of that gives a better performance. 4. We never had any major issues with Redis, so no point turning our backs.
It is quite simple to set up for the purpose of managing user sessions in the backend. It can be easily integrated with other products or technologies, such as Spring in Java. If you need to actually display the data stored in Redis in your application this is a bit difficult to understand initially but is possible.
The interfaces are intuitive once you are familiar with all the functions. The ability to use different tools to interact with the platform, such as directly via a browser or code editors such as VS Code or Visual Studio is a great option and allows for integrating withn the project and other testing and developing tools.
The support team has always been excellent in handling our mostly questions, rarely problems. They are responsive, find the solution and get us moving forward again. I have never had to escalate a case with them. They have always solved our problems in a very timely manner. I highly commend the support team.
We give the support a high rating simply because every time we've had issues or questions, representatives were in contact with us quickly. Without fail, our issues/questions were handled in a timely matter. That kind of response is integral when client data integrity and availability is in question. There is also a wealth of documentation for resolving issues on your own.
We are big users of MySQL and PostgreSQL. We were looking at replacing our aging web page caching technology and found that we could do it in SQL, but there was a NoSQL movement happening at the time. We dabbled a bit in the NoSQL scene just to get an idea of what it was about and whether it was for us. We tried a bunch, but I can only seem to remember Mongo and Couch. Mongo had big issues early on that drove us to Redis and we couldn't quite figure out how to deploy couch.
We moved away from Oracle and NoSQL because we had been so reliant on them for the last 25 years, the pricing was too much and we were looking for a way to cut the cord. Snowflake is just too up in the air, feels like it is soon to be just another line item to add to your Azure subscription. Azure was just priced right, easy to migrate to and plenty of resources to hire to support/maintain it. Very easy to learn, too.
Redis has helped us increase our throughput and server data to a growing amount of traffic while keeping our app fast. We couldn't have grown without the ability to easily cache data that Redis provides.
Redis has helped us decrease the load on our database. By being able to scale up and cache important data, we reduce the load on our database reducing costs and infra issues.
Running a Redis node on something like AWS can be costly, but it is often a requirement for scaling a company. If you need data quickly and your business is already a positive ROI, Redis is worth the investment.