Overall Satisfaction with Redis
We use Redis as a cache for our Django application, and as the result storage for Celery, our distributed task runner.
- Redis is widely applicable, so knowledge of it transfers between use-cases
- Its widely used, so there are cache backends for common frameworks, like Django in our case
- Product Features
- Product Reputation
The single most important factor in our decision was the price and availability, as other products were able to serve our primary need of a key-value store. But we have been happy that it is able to grow far beyond that original use-case.
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.