Re:How far can you go without a message queue?
by Spivak on Thursday August 25, 2022 @06:18PM
(#32600656)
The number of people that think that Redis is a KV store and nothing else is too damn high.
[ Parent
| on HN ]
Re:How far can you go without a message queue?
by skyde on Friday August 26, 2022 @02:11AM
(#32603875)
Redis is not a database.
it doesn’t have proper transaction support.
it’s basically a cache with a fancy API so you can incrementally update data structure instead of having to constantly write the whole thing you are trying to cache.
Re:How far can you go without a message queue?
by Spivak on Friday August 26, 2022 @11:20AM
(#32608676)
Sure it is! Redis is even fully ACID if you use the right persistence settings complete with transactions support and a WAL. You can even set up locking to abort/rollback transactions. In DB parlance Redis’ isolation level is strict serializability which is stronger than Postgres.
If you mean “it doesn’t have every feature of Postgres” and behaves a little differently then sure but it absolutely is a database.
Re:How far can you go without a message queue?
by skyde on Monday August 29, 2022 @01:31PM
(#32640980)
the only way to do an "atomic increment operation" is to use the "Watch" command or to write stored procedure.
Watch is a poor man transaction and stored procedure does not work when you need to read value interactively from somewhere else (user/filesystem/another database) while inside a transaction.
Re:How far can you go without a message queue?
by Spivak on Tuesday August 30, 2022 @06:44PM
(#32656120)
You're literally describing INCR, it's atomic. But I know what you mean, you want atomic GET then SET which is done by WATCH.
I don't disagree with you about WATCH being less powerful than PG transactions. SQLite data types are less powerful than PG types but it's still a database.