top | item 24307973

(no title)

pjam | 5 years ago

Redis _can_ be used as a cache, but it's not the only use case.

I've personally mostly used it as a message broker (celery in python, resque in ruby), but it can definitely be used as a database.

Bottom line, it's a very flexible tool, and can be more than "just a cache".

discuss

order

jamesblonde|5 years ago

It may not be just a cache, but please, it is not a database. A database should guarantee data consistency, integrity, and ideally availability. ACID + HA. Redis does not do these. It is fast because it doesn't worry about the niceties of concurrency models and isolation models and recovery models and agreement protocols. And you can use it as a database as a very large clothing retailer I know did as an online feature store. However, it crashed on black friday due to overload and there was a massive revenue shortage because the ML models that should have been using it to retrieve features were going bananas. It was a case of misuse by said company - it should not be used for mission critical HA persistent data infra, IMHO.

solidasparagus|5 years ago

That seems like a pretty restrictive definition of the word database. To me, redis is absolutely a database, just one with a very different model than the more common databases.

pjam|5 years ago

How does Redis "not do data consistency"? Same question for HA? On the HA point, my understanding was that it was one of the reasons to use Redis Labs, because they handle a lot of the setup and management of the infrastructure required to provide a setup that does provide HA.

dominotw|5 years ago

Sure but most people are using it as a cache. Their valuation reflects its use as a cache.

> I've personally mostly used it as a message broker

Did you geo replicate message broker?

pjam|5 years ago

> most people are using it as a cache

Maybe, I actually have no idea, have you seen numbers?

> Their valuation reflects its use as a cache

How so?

> Did you geo replicate message broker?

No