Reviews (1-25 of 62)
The main problem it solves for us is to need to have a high-performance cache that also provides data persistence so we can restart instances and deploy new ones without losing data in the middle. This is very important for us because of the problem we're tackling. In the case of auth tokens, we don't want to make all users log in again after we restart an instance because the memory got cleared. The same applies for the sync flags that our processes depend on to complete.
- High performance. Redis is FAST, really fast.
- Data persistence. Having this feature was the main reason we chose Redis over Memcached.
- Clustering. Distributing data between multiple instances is easy to do with Redis.
- Data types. It isn't normal to have native data types supported on cache servers, but Redis covers many areas for this use case.
- The data type collections aren't extensive and can fall short for some needs.
- Single-threaded. Redis doesn't support multi-threading, so it won't benefit from multi-core CPUs. Instead, you need to deploy several single-core instances to scale horizontally. While this is a design decision, it may be a downside on some infrastructures.
- Lack of UI. A visual UI can be a downer for some users.
It's usually compared to Memcached, and in terms of performance I think they're very similar, and for some critical applications, Memcached may be a better option. But the feature-rich characteristics of Redis will position it in a more competitive place against many applications.
- Cache management: Redis is the best solution out there for cache management. It out marked Memcache in latency. Redis gives better flexibility when comes to data storage techniques.
- For example: Instead of storing objects as serialized strings, we can use a Redis Hash to store an object's fields and values and manage them using a single key.
- Replication: Redis has the best build in replication feature.
- For example, It allows slave Redis instances to be exact copies of master instances. The slave will automatically reconnect to the master every time the link breaks and will attempt to be an exact copy of it regardless of what happens to the master.
- Pub/Sub- It's Publish & Subscribe system of Redis. Where Publish broadcast content to all its subscribers simultaneously. There are various use cases of Pub/Sub. Developers are using it for triggering scripts based on Pub/Sub events. There are various chat ecosystems built on the Pub/Sub module.
- Redis is super fast but it comes with a cost. Whole dataset resides in RAM. So it can be costly as primary memory is more costly, then secondary ones.
- Persistence issues: To achieve it, Redis uses a memory dump to create a persistence snapshot, that's cool. But it requires some Linux Kernel tweaking to avoid performance degradation while the Redis server process is forking. This further causes latency.
- Master-slave structure side effect: Master-slave architecture comes with its own side effects. Please note that there will be only one master with multiple slaves for replication. All writing goes to the master, which creates more load on the master node. So, when the master goes down, the whole architecture does.
The great thing about this is also that each cluster can be running a different version of our application allowing us to maintain a high level of robustness for our larger enterprise customers, while also allowing us to deploy frequently to other clusters that want the bleeding edge. With Redis, being able to determine the right cluster for the right request happens blazing fast.
- FAST LOOKUPS. First and foremost, this is the bread and butter of Redis. It is our go-to for any highly performant lookups.
- SCALE OUT. Helps build distributed applications that need to share data across geographies.
- Better GUI clients. At the time of adoption, the choices for UI based clients were poor. Such tools are necessary for tier 1 support personnel who may not be entirely technically savvy.
- Filtering out duplicates
- Implement rate limits
- Store access tokens or revoked credentials
- Storing complex data (go for a traditional database instead)
- Key/Value datastore. Redis is incredibly fast when it comes to simple "phone book-style" lookups.
- Queue orchestration and management when there are many nodes in a system that need to all be on the same page.
- Dead-simple installation process. It takes about 3 minutes to install Redis and get the service started.
- I am unable to come up with any legitimate cons, but one thing to note is that Redis, by default, will be installed with no password, leaving it open to the world if the host is not locked-down with a firewall.
When it comes to performing analytics, Redis is very efficient at that as well as handling large amounts of data common in the data analytics industry. Redis also acts as a very excellent NoSQL database.
- 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.
- 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.
- We used cache data to speed up the processing power.
- To do intersections of various sets and achieve a high performing solution.
- To use it as a second-level cache for large data.
- Luva script is a pain to work on
2) Unique and flexible key value db structure
3) They use Ssd Flash for their instances
They also provide session management capabilities to be implemented in any huge projects without much headache. Their db instance also provides a high number of read write per second, which makes it a leader.
- Cache speed
- Support for high volume of transactions with elegant handling of data sets
- Ease of use - well structured and easy to implement
- Price per shard is a bit high but over all there are no issues worth mentioning
- I've heard some wishing it supported complex queries but this is asking the solution to support operations it wasn't intended for
- Big data manipulation
- Temporal data index structures
- Distributed solutions
- Publish/Subscribe model based solutions
- It's an incredibly fast database with restrictions. It only has key-value combinations but good anyway.
- For caching, at the first request-> write to the cache and read from it since DB query is expensive.
- Persistence, It's like having your session active any time you want.
- Software-based so the high availability configuration is a little bit tricky.
- The expire function is manually managed, so keep all your variables well documented.
- Better to create a Proxy service to deal with Redis values in order to isolate your app from the complexity (not too much anyway).
Redis is atomic, that means you don't have to deal with variables to being blocked to ensure concurrency. So it's great for dashboards, leaderboards, and apps like that.
Redis is not a common database, so don't use it as your repository for data entry or visualization. Yes, it's fast but not that way.
- 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
- 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.
- Redis provides the ability to score data quickly.
- Redis provides the ability to distribute this info in a fast manner.
- Redis provides an alternative method for data retrieval which lessens the load on the database access.
- Greater emphasis on Pub/Sub capabilities more in line with Kafka.
- 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.
Redis Scorecard Summary
Feature Scorecard Summary
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 Support Options
|Free Version||Paid Version|
|Video Tutorials / Webinar|
Redis Technical Details
|Deployment Types:||On-premise, SaaS|
|Operating Systems:||Windows, Linux, Mac|
|Mobile Application:||Apple iOS, Android, Windows Phone, Blackberry, Mobile Web|