Hacker News new | ask | show | jobs
by luhn 3066 days ago
Redis Pubsub is fire-and-forget, so if you aren't listening when a message is fired, you'll never receive it. Redis Streams store messages, so you can connect and read all the messages since you last checked. It's a similar model to Kafka.
2 comments

I've not been following Redis a lot, so this one is new to me. I read antirez's original Streams blog post[0] but it feels like it's missing some stuff--is it known out there how this interacts with Redis Sentinel or, separately, Redis Cluster?

[0] - http://antirez.com/news/114

In the Redis sense, streams are just a new data structure (value type of a key), so there shouldn't be any special concerns with regards to Sentinel, partitioning and/or clustering in that sense.
That is my intuition, yeah, but that makes me pretty worried about hammering hot keys and the like with regards to Cluster.

I also don't mind running Kafka, though, so I may not be the target audience.

is it strictly in-mem? for instance if redis is restarted is there an option for unread streams to be saved with redis persistence
The built-in persistence mechanisms should be compatible with Streams.