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
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 was used in a project to merge live data from different sources. Then by using Lua scripting we were able to make some further aggregations and data binding for better results. It was essential for us as preparation for next steps. We also used it as session storage manager for some other projects.
Pros
It's fast for key value hashes operations.
Lua Scripting extension is really powerful.
Cons
Single-threaded.
Likelihood to Recommend
Session manager - With in-built expires it's the perfect solution for that scenario. Data binding as we can use its key value architecture to store data from different sources under the same key so they will be automatically matched. And with now previous data structure we can extend for example hashes horizontally. It may be costly to use it as persistent data storage.
VU
Verified User
C-Level Executive in Information Technology (Marketing & Advertising company, 11-50 employees)
We use it for high-speed cache, data storage for short periods of time, and it is ideal for immediate access to the leaderboard.
Pros
Speed.
Ease of use.
Variety of use cases.
Cons
Support faster SSL access, currently bring performance down by 50% with SSL.
Cost - Most providers not cheap.
Native support to access search through a variety of data formats.
Likelihood to Recommend
Redis is well suited for timed caches. Without it, they would require more complex DB solutions. It is very reliable and takes less than 15 lines of code to write a sophisticated solution.
VU
Verified User
C-Level Executive in Engineering (Hospitality company, 1-10 employees)
We're currently using Redis to support distributed caching and synchronization across our app. Our application runs on multiple servers so ensuring all infrastructure is in sync and key operations are atomic is critical. It's being used by the backend development team in core infrastructure. Redis is well suited to solve this problem as it offers both performance and reliability.
Pros
Atomic operations
Quick Lookups
Widely supported (there are many tools/libraries built over Redis)
Cons
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.
Likelihood to Recommend
Redis is a great tool for distributed caching and synchronization/locking in systems with multiple instances. It also works well for non-persistent data that doesn't grow over time, for instance, you might want to use Redis to manage a queue. It's a particularly good choice for pieces of data that are frequently updated.
Conversely, due to price/data I wouldn't recommend Redis for persisted or infrequently accessed data.
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 as a cache for our Django application, and as the result storage for Celery, our distributed task runner.
Pros
Simple
Fast
Has a variety of data types
Transaction support
Cons
Automatic command when a connection closes
Negative acknowledgement support in streams
Likelihood to Recommend
Redis is well suited for caching, as well as distributed coordination between workers. It doesn't work extremely well for cases where the data is highly interconnected, though RedisGraph may be a good solution to that (I'm not able to review it, because I haven't used it). Its variety of data types makes it possible to do some rather advanced things easily, and when combined with scripting, there are very few hard limitations on what is possible.
We use Redis to run frontend caching, sessions and backend value store systems for our main web property. We are big supporters of the community and love watching it evolve over time. We've been early adopters in the NoSQL movement starting with Mongo and Couch. We're still using Redis, although we can't say the same for the others.
Pros
Key value storage
Session and Cookie management
Frontend caching
Cons
Third-party library support sometimes lags
Weak type support
Everything is in memory, so you need lots of RAM
Likelihood to Recommend
Redis is well suited for front end caching of websites and apps. We also use it successfully to manage our web/app cookies and sessions. Everything in Redis is in your RAM, so if you need anything stored permanently you'll need to turn on the persistence options, which will slow down Redis a bunch since it has to write to disk.
VU
Verified User
C-Level Executive in Corporate (Financial Services company, 11-50 employees)
Redis is being used as a cache for real-time locations. It serves the last known location of users sharing their location with other users in real-time, thus being an essential part of our organization.
Pros
Storing geolocations - Redis has built-in geolocation storage capabilities, thus saving us the time of developing the logic ourselves.
Serving fast info for real-time apps - To anyone who works with real-time applications, fast information is the basis of good user experiences.
Cons
I think the documentation could improve. It's not always clear, especially for engineers that are new on Redis.
Redislabs admin interface could use a tune-up, maybe being more informative and with a better UI.
I think the main cons I see in Redis could be that it may be a bit too obscure to new users.
Likelihood to Recommend
Redis is very useful for real-time scenarios where disposable recent information may be useful such as a location share app, mobile games or even a volatile chat. I must say, I haven't looked into Redis beyond these examples, so I couldn't recommend it for other use cases. The obvious less appropriate use would be for something such as a full database stack.
VU
Verified User
Team Lead in Engineering (Internet company, 1-10 employees)