Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Caching with Redis (nintyzeros.substack.com)
15 points by willem19x on Feb 14, 2024 | hide | past | favorite | 10 comments


  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.
Thanks, I'm good.


"The blazing speed of Redis compared to traditional databases boils down to two key factors: in-memory storage and optimized data structures."

Lack of strict ACID properties. This is the thing that majority of software coders have no idea about.

Every data store in the world bragging about its performance gives up on some aspects of one or more of A, C, I, D.

I wouldn't trust any serious finance or warehouse operations on anything but relational database management system, preferably with SQL.


IMO, Redis is atomic and consistent because it's single-threaded and has transactions.

It's not isolated because it doesn't need to be: concurrent transactions are serializable, due to the DB being single-threaded.

And it's not durable, but _that's what it says on the tin_: Redis is an in-memory database.


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.

https://techcommunity.microsoft.com/t5/sql-server-blog/how-b...


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.


That analogy was so confusing.

You’re walking to a café, but then you take instant coffee from your pantry? What?


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.


Good as introduction, but not sure I'd go beyond free trial.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: