Redis is an in-memory store.
It is a fast key-value database that doesn’t save anything to file.
All Redis data gets cleared on restarts.
That’s Redis’ design. Use Redis when you want speed, and are not concerned with message loss.
This is a good use case when you don’t need persistence.
RabbitMQ has had its features greatly modified over time to suit various purposes.
It has great monitoring and analytics abilities.
It also ships a lot of plugins from the community and the team.
RabbitMQ is known for deep routing across microservices.
Use RabbitMQ when you want high technical analysis from a message broker and also when you want to leverage its routing features.
Persistent messages in RabbitMQ are opt-in.
You have to configure them and make their queues and exchanges durable.
Memphis is fast and can handle large data at various scales.
It is simple to use and is good for team or group work.
Stations in Memphis are like queues in RabbitMQ.
In addition to its stations, Memphis keeps track of consumers and producers of stations.
This makes it more robust and resilient.
Use Memphis if you are building a modern application and have vast data to maintain.
Persistence is inbuilt in Memphis.
Everything survives, and the server restarts by default.
In summary, remember their persistence levels when comparing Redis Pub/Sub, RabbitMQ, and Memphis.
Redis Pub/Sub is not persistent, RabbitMQ has optional persistence, while Memphis.dev has full persistence.