Overview
What is Redis™*?
Redis is an open source in-memory data structure server and NoSQL database.
TrustRadius Insights
Best open-source caching database
Set up & forget
Redis is THE solution to all your caching problems
Great in-memory database solution
Redis is a great product offering from Amazon
REDIS great as K/V cache
Redis Review
Redis Solves many application caching problems.
Fast and reliable
Best DB for a gaming company willing to scale overnight
Redis is awesome!
Redis will improve reliability and performance and reduced costs.
Improve performance at a reduced cost
Gets the job done!
Awards
Products that are considered exceptional by their customers based on a variety of criteria win TrustRadius awards. Learn more about the types of TrustRadius awards to make the best purchase decision. More about TrustRadius Awards
Popular Features
- Performance (69)10.0100%
- Scalability (69)9.494%
- Availability (69)9.090%
- Concurrency (68)9.090%
Reviewer Pros & Cons
Pricing
Cloud
$388.00
Entry-level set up fee?
- Setup fee optional
Offerings
- Free Trial
- Free/Freemium Version
- Premium Consulting/Integration Services
Features
NoSQL Databases
NoSQL databases are designed to be used across large distrusted systems. They are notably much more scalable and much faster and handling very large data loads than traditional relational databases.
- 10Performance(69) Ratings
How fast the database performs under data load
- 9Availability(69) Ratings
Availability is the probability that the NoSQL database will be available to preform its function when called upon.
- 9Concurrency(68) Ratings
Concurrency is the ability for multiple processes to access or change shared data simultaneously. The greater the number of concurrent user processes that can execute without blocking each other, the greater the concurrency of the database system.
- 8Security(63) Ratings
Security features include authentication against external security mechanisms liker LDAP, Windows Active Directory, and authorization or privilege management. Some NoSQL databases also support encryption.
- 9.4Scalability(69) Ratings
NoSQL databases are inherently more stable than relational databases and have built-in support for replication and partitioning of data to support scalability.
- 9.9Data model flexibility(62) Ratings
NoSQL databases do not rely on rely on tables, columns, rows, or schemas to organize and retrieve data, but use use more flexible data models to accommodate the large volume and variety of data being generated by modern applications.
- 9.3Deployment model flexibility(62) Ratings
Can be deployed on-premise or in the cloud.
Product Details
- About
- Integrations
- Competitors
- Tech Details
- Downloadables
- FAQs
What is Redis™*?
According to the vendor, Redis is an in-memory multi-model database that supports multiple data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability and automatic partitioning with Redis Cluster.
Redis combines in-memory, schema-less design with optimized data structures and versatile modules that adapt to your data needs. The result is an adept, high performance, multi-purpose database that scales easily like a simple key/value data store but delivers sophisticated functionality with great simplicity, according to the vendor.
Redis also enables data persistence and high availability through replication and backups. Redis Enterprise is built from the ground up to serve as a system of record for any application.
*Redis is a trademark of Redis Ltd. Any rights therein are reserved to Redis Ltd. Any use by TrustRadius is for referential purposes only and does not indicate any sponsorship, endorsement or affiliation between Redis and TrustRadius.
Redis™* Features
NoSQL Databases Features
- Supported: Performance
- Supported: Availability
- Supported: Concurrency
- Supported: Security
- Supported: Scalability
- Supported: Data model flexibility
- Supported: Deployment model flexibility
Additional Features
- Supported: Integrated modules
- Supported: Active-Passive Geo Distribution
- Supported: Cluster Architecture
- Supported: Linear Scaling
- Supported: Durability
- Supported: Backup and Disaster Recovery
- Supported: Reliability
Redis™* Screenshots
Redis™* Video
Redis™* Integrations
- Apache Spark
- Red Hat OpenShift
- CData
- Pivotal Cloud Foundry
Redis™* Competitors
Redis™* Technical Details
Deployment Types | On-premise, Software as a Service (SaaS), Cloud, or Web-Based |
---|---|
Operating Systems | Windows, Linux, Mac |
Mobile Application | Apple iOS, Android, Windows Phone, Blackberry, Mobile Web |
Supported Countries | Global |
Supported Languages | https://redis.io/clients |
Redis™* Downloadables
Frequently Asked Questions
Comparisons
Compare with
Reviews and Ratings
(224)Community Insights
- Business Problems Solved
- Recommendations
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
Users recommend the following for Redis:
Consider other cache options before choosing Redis. It is advisable to try out other caching solutions before jumping to Redis, even though it is a great tool for highly distributed caching.
Understand the purpose of Redis in your implementation. It is important to have a clear understanding of how Redis will be used in your specific application. Don't assume that it will work straight out of the box. Evaluate data structures and choose a model that allows for faster query times.
Use Redis for specific use cases. Redis shines in certain areas such as synchronizing states across instances and handling user sessions with Node.js. It can also be a good alternative for relational data when speed is of utmost importance. However, users caution against abusing Redis and recommend using it in a reasonable way.
Overall, users believe that Redis is a valuable tool for fast reliable storage and caching, particularly for enterprise applications. However, they also advise considering other key-value stores depending on the specific use case at hand.
Attribute Ratings
Reviews
(1-16 of 16)REDIS great as K/V cache
- Quick key lookups.
- Distribution of data is easy and reliable.
- Almost HA.
- HA automatic failover for master and promoting slave on own.
- Doesn't handle 1M r/s sadly.
- Cross DC replication not so great.
Improve performance at a reduced cost
- Great fail over capabilities for optimal up time
- Very easy to set up and get running
- Create backups to AWS S3
- Clustering for greater performance is very easy
- Able to scale is easy to set up and can build with your needs
- Complete data sets tend to have some difficulty. But that's mostly on the type of code you're running
- Only one module can be active at one time. Wish you could run multiple
Gets the job done!
- Ease of use and set-up.
- Clustering and sharding.
- Automated backups to remote storage (S3).
- 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.
Perfect performing cache
- Speed.
- Ease of use.
- Variety of use cases.
- 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.
Redis, a fast, reliable and well supported data storage system
- Atomic operations
- Quick Lookups
- Widely supported (there are many tools/libraries built over Redis)
- 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.
Conversely, due to price/data I wouldn't recommend Redis for persisted or infrequently accessed data.
Redis Review
- 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.
- 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.
Reduced costs
- Speeds up database searches.
- Cloud-based without the need for on-prem.
- High availability.
- Support needs to be better, with chat support as an option.
- Training material for new hire dev-ops.
- Wiki-type documentation.
- The main point: speed.
- Easy to use and integrate with the rest of the components of our system.
- Full-text search support
- GUI tools
- Pricing
Redis: the best cache store you can get!
- High-speed access for a database where the size is generally well-known.
- If you display real-time stock prices, you can use Redis to rapidly get the latest stock price by its key and get it displayed to the user.
- Support for data structures such as scalars, sets, hashes, and lists.
- Persistence can impact performance since Redis will use memory dump to create snapshots used for persistence.
- Redis supports only basic security options. Redis doesn't provide any access control.
- There is no internal full-text search support and it is difficult to model relationships using Redis.
Redis makes your application super fast.
- Handles huge data without any loss
- more number of request at same time
- node replication
- Since this is in-memory database but when you use it as persistence DB then pricing will increase.
- Does not support query like SQL
Performant In-Memory Database
- Quick and Easy Setup
- Fast Performance
- Does its job well!
- Setting up a cluster in Redis is a bit confusing and hard for the first time.
Redis is the DB you didn't know you need.
- High Performance. Compared to other similar technologies Redis is blazing fast.
- Built-in Data Structures. Redis facilitates the creation of Counts, Leaderboards, & Logs.
- Scale Out. Other technologies claim to do Active-Active replication but while rebalancing, the Cluster goes irresponsive. With Redis, this does not happen and requests are still being served.
- Management console still not quite polished.
- No built-in GUI for Debugging keys and values.
- Pricing model.
Our experience with Redis Enterprise
- Adoption of Redis, gave us the ability to realize our goal of digitally transforming the process of filing returns, generating bills, and tracking the movement of goods across states.
- Using Redis Enterprise, we were able to reduce the time it took to generate an e-way bill by more than 85%. Just as important, we were able to dramatically reduce the burden on our SQL database and API calls.
- Highly available persistent caching solution recognized for its seamless compatibility with Microsoft SQL Server and Consistent end-to-end response times below 40ms.
- Flexible data structures and commands for efficient application in use cases beyond caching.
- Session management is currently being handled in memory by our SQL server, but as the number of concurrent sessions during peak times moves from today’s average of 50,000 to an expected 100,000, we’ll need to implement more efficient session and authentication management likely within Redis Enterprise.
- Manage the complexity of data in many different structures ranging from relational, to logs, to raw text. Handling of Streaming data, large volume of transactions/requests and data movement.
- The functionalities like Joins (inner/outer join), Set operations (Union/Intersect/Minus), Transactions, Full ANSI SQL support, Constraints (like RDBMS) are not easily supported.
Redis is a hammer in search of a nail.
- Speed: Redis is, generally speaking, very fast. I typically place Redis somewhere within my internal network so the major factor in the speed of retrieving data is the size of the data cached.
- Configuration: Redis is very configurable to the point where you can utilize it as simply as a single instance running with no backups to a multi-tiered cluster running with permanent storage, data backups, and replication.
- Documentation: Redis has done a good job of documenting all of its capabilities as well as providing guidance in terms of what client libraries exist to help the developer's application(s) interface with it.
- I, as a rule, don't use Redis for persistent data, but it would be nice if Redis had an option to persist data to another data source such as MySQL or PostgreSQL.
- This is more a wish list item than a con but, it would be nice to have the ability to configure Redis as a write-through proxy. This is generally done by having a processor processes write-data to Redis, another process then reads the data from Redis and writes it to a database, and then finally the keys that have been written are flushed out of Redis.
Redis is goooood!!!
- Being a non-SQL database, it does not require any structure. Perfect for unstructured data like key-value pairs.
- Redis is extremely fault tolerant. As soon as we write a record, it gets saved to the disk, without any performance issues.
- Redis is very lightweight. In docker it takes less than 30MB, so it is so easy to run multiple containers in cluster without taking too much power.
- Redis has a very good query API, and they are in their website each operation is clearly mentioned with its time complexity. This gives you a clear picture of performance. We didn't in fact do any performance testing because we trusted their site with all the information.
- Redis has a very strong community around it. We have never found an issue for which a solution didn't exist beforehand.
- A cluster in Redis was a little hard to understand and deploy, but this is a one time thing to learn, no worries.
I can also vouch for Redis's pub/sub notification. You can basically set expiration or event hooks around your keys, and Redis will trigger a notification for those events.
But Redis is ill-suited for treating it as a proper database. For instance, this is not a replacement for elasticsearch or mongo.
To assess if you need Redis, in my opinion, just think if you need to query values. If yes, don't use redis. If you are only concerned with key operations, then go with Redis.
- Low latency: As it is in memory, saves on I/O
- Repetitive: As part of ETL we use it to address resolution, .i.e. given an address, find a representative lat long for it. As millions of rows are ETLed every day, there is high chance that they repeat. Having in-memory helps again
- Point queries: WHERE age BETWEEN 10 and 30 is a range query and WHERE age = 15 is a point query. We use it only for point queries
- When dataset is small enough to fit in-memory and get full benefits of reduced I/O
- Need of rich data structures for complex querying
- Speed of in-memory store and durability by disk at the same time
- Declarative querying like SQL
- Tools for monitoring and identifying performance bottlenecks
- Key schema design can be tricky and heavily impacts the performance (leading to key scans)
- Low latency queries are a must
- Frequent point queries as it is a key-value store
- Use awesome Redis Modules (Redis Search, Redis Neural Net, Redis ML, Redis-Secondary, Redis Graph)
- When values are complex objects and not simple data structures. Document stores are better for those work loads
- Huge data and not feasible (due to budget constraints) to scale up RAM