Redis is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists , and sets.
Redis is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists , and sets.
Customer Reviews
Gabe L.
Advanced user of RedisI use the Redis API in my python web-stack and it is one of the slickest things I have ever had the pleasure of working with. The application that I maintain, deepquill.com, needs to serve a high volume of requests while doing continuous cloud-resource tracking/management and it all has to happen asynchronously, so naturally I turned to Redis for a high speed caching solution. At the time I knew only Postgres and Redis works very differently, so I was new to the whole system. The solution I needed to implement with this database wasn't exactly trivial either, so I was prepared to spend a good amount of time slogging through source code to learn what I needed to alter to get this module to work how I wanted it to. -- To this day I have not seen a single line of it's source code -- It's all there in the documentation, written in plain English with examples and use-cases galore! Even if there were a faster and more reliable caching solution on the market (which there isn't) , I would honestly still pick Redis if only for it's thorough and accessible documentation.
The only downside I could identify with this solution is that it is not really meant to store data in a persistent form. At least not by default. Redis does everything in volatile memory (which is why it can be so fast) , and while it is easy to set it up to write your data to disk from time to time (it's maybe 3 lines of code tops), it can potentially be confusing to people who come from a more traditional database and expect their data to still be there after a power cycle. The only people who would really suffer from this misunderstanding are those didn't read the manual though, so don't be one of those and you'll be fine. Just be warned: if you want Redis to record your data in a persistent form, you have to explicitly tell it to do that.
If you are trying to control a secured Redis server using a shell script you want to use a "-a" flag followed by the password. This was the only thing I've found that wasn't explained in the documentation. But now you know!
I needed to keep track of user activity, resource utilization, message caching, and the status of many containers on many AWS EC2 instances with high time-resolution, and manipulate all of this data in such a way as to make it easy to tell when to do what with which resource (margins are slim so we want to be as efficient possible) Redis handles ALL of this for us and deals with asynchronous operations in a most sane and predictable way. Redis also lets us encrypt all of our data moving between layers, which is pretty badass in my opinion.