TrustRadius Insights for Redis Software are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Business Problems Solved
Redis has proven itself to be an invaluable tool in a wide range of use cases. Users have found Redis to be exceptional as an efficient caching solution, allowing for the distribution of data and storage of web sessions. This capability has led to significant improvements in performance and reliability, making it a go-to choice for many backend development teams. Additionally, Redis's versatility as a NoSQL key-based database store has made it a preferred option for organizations working alongside other databases like PostgreSQL and Memcache. Its ease of use, stability, and reliability have made it a popular choice across multiple departments within organizations.
Furthermore, Redis has been leveraged in various R&D projects to experiment with its implementation in different modules. Starting with cache management, users have been able to extend its usage to address specific project needs effectively. In these experiments, Redis has served as a traditional in-memory key store warehouse for cache systems with a vast number of items, resulting in substantial latency savings. Its ability to manage distributed queues efficiently has also made Redis an excellent choice for tasks that require multiple worker nodes to subscribe and complete tasks. The flexibility Redis offers by enabling users to store sets of object-based information and lists further improves performance through set operations.
In addition to these use cases, Redis has become synonymous with simplicity and speed when it comes to basic yet fast key-value storage solutions. It has been extensively adopted in organizations, including game studios, where it is used for storing user data, session data, game data, and indexing information. For example, Redis Enterprise has been utilized to support backend systems for casual games by providing sub-millisecond response times and facilitating clustering, sharding, backups, and monitoring.
Moreover, customers have found Redis instrumental in addressing various challenges such as big data processing, handling temporal data, managing session state, and even as a caching service in microservices environments. Its ability to provide data consistency, concurrency management, and high-speed operations has proven invaluable. Additionally, Redis has been a reliable tool for caching solutions in e-commerce storefronts and data visualization applications. Users have reported reduced server load and improved performance as a result of implementing Redis as a cache.
Redis has also found success as a buffer cache, allowing for faster data retrieval and improved overall database performance. Its role in processing queues, calling APIs, and supporting vital organizational workflows has been recognized by customers who rely on its stability and speed. Furthermore, users have implemented Redis across various domains to manage user timelines, build notification systems, and implement microservices architecture
It's our primary caching solution used to store request-ids, user profiles, message ids for de-duplication, etc. We have about 25 clusters of Redis Software running on Elasticache and it scales without any issues.
Pros
Easy to integrate, simple data models.
Highly performant at significant scale.
Easy to deploy and manage.
Cons
Replication
Durability
Clustering
Likelihood to Recommend
Well-suited: 1. Simple k-v caching. 2. Any data model that can use hashmaps, streams, and pub-sub systems.
Not Suited: 1. Any need of durability 2. If your primary storage is SSD.
VU
Verified User
Vice-President in Engineering (Computer Software company, 501-1000 employees)
Redis is used as cache storage in our data visualization application where response time is key. We use Redis for some of the flag features in a system with more than 20,000 internal users. This in-memory database helped to solve many of the use cases we've had on our product like user based caching, realtime analytical operations on one time fetched results.
Pros
A modern key-value store in-memory database.
Redis [is thorough] and details user documentation.
Data distribution on a multi-tenant cluster is easy and reliable.
Cons
It lacks support for datatypes that are available on other products.
Making it work with Celery is a bit hard and sometime it's not reliable.
Lacks better UI like other systems.
Likelihood to Recommend
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.
VU
Verified User
Engineer in Engineering (Internet company, 5001-10,000 employees)
We use it to manage & control user sessions in a Tomcat based web application programmed with Java. It's used in both production and testing & development environments in this certain application's server backend, but only the software development department actually understands & manages it. It solves the case to keep users logged in to the application and also invalidates the sessions when requested or automatically if they expire.
Pros
Has been working well for storing user sessions.
No need for maintenance operations. Once it's set up has been working flawlessly.
Many configuration options, little programming required.
Cons
The actual database structure is difficult to understand.
Only command line application available for free. Difficult to use.
Seems to have some encoding issues when inspecting data directly with CLI app.
Likelihood to Recommend
It is well suited when a web application needs to store any kind of user sessions. It works both for storing logged in user sessions but also for non authenticated users. User sessions are temporary; however, for storing permanent data that needs to be retained across sessions it is not appropriate because Redis is an in-memory database.
VU
Verified User
Employee in Information Technology (Computer Software company, 1001-5000 employees)
Redis is used as our primary cache for our application to help reduce response time and improve user experience. By caching read intensive data in Redis, this also helps to reduce load on our database.
Pros
Great performance for reading data
Easy to set up and work with
Great support for many different types of data structure
Cons
Lacking monitoring and administration tools
System resource consumption as you scale up
Likelihood to Recommend
Perfect solution for caching needs. If you have a bottleneck due to frequent data access to your database, then Redis can really help you by diverting those traffic away from your database. Its key/value pair structure also makes data lookup very efficient, providing excellent performance.
VU
Verified User
Employee in Information Technology (Computer Software company, 1-10 employees)
Redis has been a vital component in our design, it's usage is mainly for caching API requests, but it also extends to other applications such as rate limiting and pub-sub mechanism.
Pros
Latency.
In-memory.
Ease of use.
Cons
Open source licensing was ambiguous.
Likelihood to Recommend
Redis is well suited for in-memory caching, API caching, and rate-limiting.
VU
Verified User
Engineer in Engineering (Computer Software company, 1001-5000 employees)
We're using Redis in many ways and across different departments in the organization. The most simple use case is to store locks so the backend services can reject duplicated API requests. A little more advanced use case is to use it as a buffer for queues of messages or requests. We're also exploring ways to use the new Graph type to support Data Science models in development.
Pros
Redis has many data types that suit a variety of use cases such as caching, message queues, graphs.
Redis is an open-sourced tool with a growing community, as well as 3rd party support (Amazon managed version) if you need additional help with the set-up.
Both the clients and the command line tool are easy to use and well-documented.
Cons
Scaling has always been an issue with Redis. Routing to shards is not automatic.
There's no GUI for managing the keys and values stored in Redis. The command-line tool is useful but not friendly to non-engineering users.
The data types as in data structures have many choices, but inside of the key-value pair, the content is always stored as a string.
Likelihood to Recommend
Redis is a tool when you want to get a key-value store up and running in production quick without a lot of constraints. And it will keep the customer happy for a considerably long time. However, if the scaling is critical, Redis might not be the best choice available in the market.
VU
Verified User
Engineer in Engineering (Internet company, 501-1000 employees)
Redis Enterprise helps us by making clustering, sharding, backups and some more very easy to set-up, control, and monitor. It's quite nice being able to sleep at night knowing that despite all your database is on volatile memory (RAM) or a hybrid solution (Redis on Flash), and still have the information clustered, sharded, replicated, and constantly being backed up, with just a few clicks. The support is really great, and the ease of use and set-up are also big selling points.
Pros
Ease of use and set-up.
Clustering and sharding.
Automated backups to remote storage (S3).
Cons
The documentation grows quite fast (200+ commands), perhaps they should have a most-used ranking.
Redis modules (Bloom, JSON, Search) are great, but only one can be active at a time.
Likelihood to Recommend
Redis is fast, super simple and reliable. You need minimum security measures like having your data replicated and (at least daily) backups for emergencies. If you want to have all this done automatically by a simple UI, then Redis Enterprise is a must We have been working with Redis for over 5 years and we couldn't be happier.
Redis is being used as our primary NoSQL key-based database store. In the specific platform that Redis is being used the most, we have PostgreSQL as the main relational data store, Memcache for expiring key-based caching and Redis. The entire platform used within the business unit utilizes Redis but other departments are starting to use it as well given the ease of use, stability, and reliability.
Pros
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.
Cons
Autoscale. We've used Redis at RedisLabs and currently on AWS with ElastiCache plus previously I've self-hosted it and there are no real options for "serverless" or an operating model whereby I'm using only the resources needed to handle my current volume, instead, everything is provisioned and sized to your highest throughput needs. For us, that's only a few hours a day where we're at our peak, the other 16 hours could run smaller hardware but the system doesn't autoscale up/down seamlessly on any of the platform providers.
Management console. Some systems such as Riak have a built-in GUI for ops or Mongo runs their own Compass product but Redis seems to entirely rely on other OSS solutions, which is great, but having a built-in tool that's lock-step with the released versions would ease any quick troubleshooting that CLI-challenged ops teams could utilize.
Redis replication is asynchronous. Therefore, when a primary cluster fails over to a replica, a small amount of data might be lost due to replication lag.
Likelihood to Recommend
Redis is great for queues (push/pop) and pub/sub. It can also be used for caching though take care of managing those expire settings and don't mix permanent keys with expired keys on the same hosts unless you want to spend some time troubleshooting unplanned evictions. When looking at open source solutions to messaging, queuing, background jobs, etc. - you'll find many solutions work with Redis out-of-the-box.
Redis is used by our organization to deliver schedules to the users of livestreams and playlists. We needed something that could deliver very high requests per second and also allow us database updates without impact to our customers. This has been accomplished with Redis.
Pros
The system is very reliable. The only times we had issues was when we hit database capacity limits.
There is continuing development on the technology (like Redis streams) that make it an even more attractive technology.
For systems that require many concurrent users, like several million watching the Super Bowl on their connected devices, it works and it works well.
Cons
None that I can think of
Likelihood to Recommend
It is well suited where you need lots of calls to a database, not the best solution for long term storage
We use Redis to store data such as ID sessions, card tokens. We have a cluster with three servers in three different environments, and it's working very well.
Pros
Very scalable.
High performance.
Easy to use.
Cons
Management tool could be better.
Books in Spanish.
Likelihood to Recommend
The best scenario for Redis is where fast response speed is required to have an optimal performance of the applications, or when it is required to have data that is consulted on a recurring basis.