Hacker News new | past | comments | ask | show | jobs | submit login

I'm confused. Redis is a cache with persistent backing option. This is a database. Have I missed something?



People think Redis is just a cache because the use the puggified version sold by AWS (elasticache). Enable persistence + AOF (the write ahead log) and you got yourself a database.

You can also add your own data structures to Redis, not as a form of syntax sugar over KV pairs, but as a dynamic library that you can write in C/C++/Zig/Rust, where you have full control over the in-memory representation.

But that's also another feature AWS takes away from you if you buy elasticache :^)


I definitely don't consider redis a database since it's not acid compliant and any data you put in you have to be OK with losing. It's still just a cache to me.


If you think stuff like mongo is any better than redis, you fell for the marketing friend :^)


We're talking about Redis


Redis is a database

It's often used as a cache because it does key-value storage in memory well


It rebranded in 2015. It used to describe itself as a cache (earlier revisions also declare themselves to be a memory store) https://web.archive.org/web/20150304014343/http://redis.io/

I consider it to be cache first, "db" second, with true definition of db first being something that can execute SQL or SQL like statements (such as Cassandra's CQL). It's the same reason I don't call Cassandra a cache, although it can achieve the same result.


    true definition of db first being something that 
    can execute SQL or SQL like statements
Pedantic note: the term "database" existed long before the relational model or SQL existed. Many of the dominant databases of the 80s and 90s (dBase, etc) would not fit your invented definition.

Additionally, a lot of "toy" databases like Access can execute SQL statements, so the ability to execute SQL statements isn't necessarily a great way to tell what's a "real" database.

In practical terms, I do agree with you -- if somebody in 2023 is referring to "the database" in their app they had darn well better be talking about something robust and ACID-compliant like Postgres or whatever.


Your definition does not make any sense. Imagine defining « prime numbers » as {2,3,5} set


It didnt use to be and is a nosql db now


> Redis is a database

Do you have an example of an use case for which using Redis as a database works significantly better than using say Postgres or MySQL?




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

Search: