Persistance des messages des flux
Découvrez comment les flux assurent la persistance des messages et leur distribution dans l’ordre, contrairement à Pub/Sub.
Persistance des messages des flux est une leçon Redis Caching & Messaging (Pub/Sub, Streams) gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Redis Caching & Messaging (Pub/Sub, Streams), et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Redis Caching & Messaging (Pub/Sub, Streams) comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
What is Message Persistence?
In messaging systems, persistence means messages aren't lost, even if the recipient isn't ready to receive them immediately.
Think of it like leaving a note on a fridge instead of shouting it to someone who might not be home. The note stays until it's read.
This is crucial for reliability in many applications.
Streams Retain Your Data
Unlike some other Redis messaging features, Redis Streams are designed to be persistent. Every message (entry) you add to a stream is stored in Redis.
This storage acts like an append-only log. New entries are always added to the end, creating a historical record of events.
Unique Entry IDs for Order
Every entry in a Redis Stream gets a unique Entry ID. This ID is automatically generated by Redis and consists of two parts:
- Timestamp (milliseconds): The time the entry was added.
- Sequence Number: A counter for entries added within the same millisecond.
Example: 1678886400000-0
Adding Messages to a Stream
We use the XADD command to add new entries to a stream. The * tells Redis to auto-generate the Entry ID, ensuring uniqueness and proper ordering.
Each entry also holds field-value pairs, like a mini-hash.
XADD mystream * sensor-id 123 temperature 25.5Reading from a Stream
To read entries from a stream, we use the XREAD command. You specify the stream name and the ID from which to start reading.
Crucially, reading an entry does not remove it from the stream. It stays there for other consumers or for future review.
XREAD COUNT 2 STREAMS mystream 0Streams vs. Pub/Sub: Persistence
This is where Redis Streams significantly differ from Redis Pub/Sub (Publish/Subscribe).
- Streams: Messages are persistent. They are stored and can be read multiple times, even by consumers who connect later.
- Pub/Sub: Messages are ephemeral. They are delivered once to active subscribers and then disappear.
Pub/Sub: Fire and Forget
With Pub/Sub, if no client is subscribed to a channel when a message is published, that message is simply lost. There's no backlog or history.
It's like a live broadcast: if you're not tuned in, you miss it. This is great for real-time notifications where history isn't needed.
Streams Ensure Order
The automatically generated Entry IDs in Redis Streams guarantee strict chronological order. Messages are always stored and retrieved in the exact order they were added.
This is vital for applications where the sequence of events matters, such as logging, auditing, or event sourcing.
When to Use Persistent Streams
Choose Redis Streams when you need:
- Reliable Event Logs: A complete, ordered history of events.
- Message Replay: Ability for new consumers to process past events.
- Auditing & Analytics: Historical data for analysis.
- Decoupled Microservices: Services can process events at their own pace.
Stream Persistence Check
You're building an application that needs to ensure every event is processed, even if a consumer is temporarily offline. Which Redis feature is best suited for this requirement?
Recap: Streams' Core Strengths
In this lesson, we explored the crucial aspects of Redis Streams: message persistence and guaranteed ordered delivery.
- Streams store all entries, forming an immutable log.
- Each entry has a unique, time-based ID ensuring strict order.
- This persistence and ordering are key differentiators from Redis Pub/Sub, making Streams ideal for reliable event processing and historical data.
Questions Fréquemment Posées
La leçon « Persistance des messages des flux » est-elle gratuite ?
Oui — le texte complet de « Persistance des messages des flux » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Redis Caching & Messaging (Pub/Sub, Streams), passe à CoddyKit PRO. Le cours Redis Caching & Messaging (Pub/Sub, Streams) comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Persistance des messages des flux » ?
Découvrez comment les flux assurent la persistance des messages et leur distribution dans l’ordre, contrairement à Pub/Sub. Tu pratiques Redis Caching & Messaging (Pub/Sub, Streams) avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Redis Caching & Messaging (Pub/Sub, Streams) ?
Aucune expérience préalable n'est requise. Redis Caching & Messaging (Pub/Sub, Streams) sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Persistance des messages des flux » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Redis Caching & Messaging (Pub/Sub, Streams) ?
Oui. Chaque leçon Redis Caching & Messaging (Pub/Sub, Streams) inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Que sont les flux Redis ?
- Structures de données et commandes des flux
- Persistance des messages des flux
- Limiter et tronquer les flux