How actually do Redis work and various Redis deployments and their trade-offs.
[...]
But you might think how Redis is so fast ryt ?
[...]
let's discuss the various Redis deployments and their trade-offs.
Keep reading with a 7-day free trial.
Thank you for confirming what I wrote above. Considering they've given up on "D", which is associated with the biggest performance penalty, Redis is darn slow.
Redis is pretty fast, actually. I know you might not think so, but in my experience, it's pretty fast. The only other datastore that I have used with comparable latency and lots of data is Spanner (the internal version at Google) and the hardware requirements for it are... prohibitive.
The goal of Redis is to share simple data structures across the network, not to compete with a full-fat database.
Spanner, of course, is out of the question. I like it, but it's so expensive that even Oracle Database looks cheap next to it.
You might find it interesting that a single-node general-purpose RDBMS with SQL 8 years ago was capable of doing 1.2 million simple transactions per second, in this scenario I suppose they were not durable, just like Redis. I haven't read anywhere about Redis being able to get near that number, therefore I still call it slow.
It really pisses me off to see Redis described as a caching system. Yes it's good for caching, but it can do far more than just that. E.g the blocking list operations can be used to make lightweight ad-hoc communication channels - I'm using this in a project just now. Loadable Lua functions mean you can embed significant application logic in Redis - I've not used this yet but I intend to soon.
This comes across as the author not understanding that traditional RDBMS also cache items in memory.
Can Redis beat Postgres or MySQL? Probably, but not by much if the data is cached by the latter. People are often surprised that the latter can return data in microseconds if the queries and schema are properly designed.
Worse, they don’t design their RDBMS properly, and rely solely on a Redis layer for speed. Then, when Redis crashes, is upgraded, etc. their DB falls over because – surprise – they also didn’t properly design their app or DB to handle a thundering herd.