Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) · Pelajaran

Pengenalan kepada Kumpulan Pengguna

Fahami cara Kumpulan Pengguna membolehkan berbilang pengguna memproses strim secara bekerjasama dan boleh dipercayai.

Pelajaran 1 daripada 411 langkah

Pengenalan kepada Kumpulan Pengguna ialah pelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams), dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) merangkumi sejumlah 4 pelajaran.

Apakah Kumpulan Pengguna?

Redis Streams berkuasa untuk pencatatan dan sumber peristiwa. Namun, bagaimana jika beberapa aplikasi atau tika perlu memproses data strim yang sama tanpa mengulangi kerja?

Di sinilah Kumpulan Pengguna digunakan. Kumpulan ini ialah ciri teras Redis Streams yang direka untuk pemprosesan mesej bersama yang boleh dipercayai.

Cabaran: Pembaca Berbilang

Bayangkan dua perkhidmatan, Perkhidmatan A dan Perkhidmatan B, kedua-duanya perlu memproses setiap pesanan baharu daripada orders_stream.

Jika kedua-dua perkhidmatan hanya menggunakan XREAD, kedua-duanya akan menerima dan memproses semua mesej, lalu menyebabkan kerja berulang atau keadaan yang tidak selaras.

  • Bagaimanakah mereka mengetahui mesej yang telah diproses?
  • Bagaimanakah mereka berkongsi beban kerja?

Menyelesaikan Pemprosesan Strim Bersama

Kumpulan Pengguna menyediakan cara untuk beberapa pelanggan (pengguna) membaca bersama-sama daripada Redis Stream yang sama.

Kumpulan ini memastikan bahawa:

  • Setiap mesej dihantar kepada hanya seorang pengguna dalam kumpulan.
  • Keadaan (mesej yang belum selesai dan mesej yang telah diakui) diuruskan oleh Redis.
  • Pengguna boleh memulihkan keadaan dan menyambung semula pemprosesan dari tempat mereka berhenti.

Konsep Utama: Kumpulan, Pengguna, PEL

Mari kita takrifkan bahagian teras Kumpulan Pengguna:

  • Strim: Redis Stream yang menyimpan mesej.
  • Kumpulan Pengguna: Kumpulan logik pengguna yang memproses strim.
  • Pengguna: Tika pelanggan individu dalam kumpulan.
  • Senarai Entri Belum Selesai (PEL): Senarai yang diselenggarakan oleh Redis untuk setiap pengguna bagi menjejaki mesej yang telah dihantar tetapi belum diakui.

Menyediakan Kumpulan Pertama Anda

Sebelum pengguna boleh menyertai, Kumpulan Pengguna mesti dicipta pada strim tertentu. Kita menggunakan perintah XGROUP CREATE.

Pilihan MKSTREAM mencipta strim secara automatik jika strim itu belum wujud.

XGROUP CREATE my_stream my_group 0 MKSTREAM

Mengisi Strim

Mari tambahkan beberapa mesej pada my_stream supaya ada sesuatu untuk dibaca. Ingat, XADD ialah cara untuk menambahkan entri pada strim.

XADD my_stream * sensor_id 1 temp 25.5
XADD my_stream * sensor_id 2 temp 24.9
XADD my_stream * sensor_id 1 temp 26.1

Pengguna Menyertai Kumpulan

Pengguna membaca daripada kumpulan menggunakan perintah XREADGROUP. Anda perlu menentukan nama kumpulan, nama pengguna dan ID strim untuk memulakan pembacaan.

ID khas > bermaksud "baca hanya mesej baharu yang belum dibaca dan belum dihantar kepada mana-mana pengguna lain dalam kumpulan ini."

XREADGROUP GROUP my_group consumer1 COUNT 1 STREAMS my_stream >

Mengesahkan Pemprosesan Mesej (XACK)

Selepas pengguna memproses mesej, pengguna mesti mengesahkannya menggunakan XACK. Ini memberitahu Redis bahawa mesej tersebut telah dikendalikan dan boleh dialih keluar daripada Senarai Entri Menunggu (PEL) pengguna.

Ini amat penting untuk kebolehpercayaan dan menghalang mesej daripada dihantar semula jika pengguna mengalami kerosakan.

XACK my_stream my_group 1678881234567-0

Mengapa XACK Penting

Mengesahkan mesej penting atas dua sebab utama:

  • Kebolehpercayaan: Jika pengguna gagal sebelum mengesahkan mesej, mesej tersebut kekal dalam PEL dan boleh dituntut oleh pengguna lain kemudian.
  • Pengurusan Sumber: Mesej yang belum disahkan kekal dalam PEL dan menggunakan memori. Pengesahan memastikan PEL kekal bersih dan cekap.

Asas Kumpulan Pengguna

Perintah Redis manakah yang digunakan untuk mencipta Kumpulan Pengguna baharu bagi sesuatu strim?

Ulang Kaji: Kumpulan Pengguna

Dalam pelajaran ini, anda mempelajari tentang Kumpulan Pengguna Redis dan cara kumpulan ini membolehkan berbilang pengguna memproses mesej daripada satu strim dengan boleh dipercayai, sambil memastikan setiap mesej dikendalikan sekali sahaja.

Kini anda memahami peranan kumpulan, pengguna dan Senarai Entri Menunggu (PEL), serta cara menggunakan XGROUP CREATE, XREADGROUP dan XACK.

Seterusnya, kita akan mendalami pelaksanaan logik kumpulan pengguna dan pengendalian mesej yang menunggu!

Percuma untuk bermula

Pelajari Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Pengenalan kepada Kumpulan Pengguna” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams), termasuk “Pengenalan kepada Kumpulan Pengguna”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pengenalan kepada Kumpulan Pengguna”?

Fahami cara Kumpulan Pengguna membolehkan berbilang pengguna memproses strim secara bekerjasama dan boleh dipercayai. Anda berlatih Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pengcachingan & Pemesejan Redis (Pub/Sub, Streams)?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Pengenalan kepada Kumpulan Pengguna” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) ini?

Ya. Setiap pelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Pengenalan kepada Kumpulan Pengguna
  2. Melaksanakan Logik Kumpulan Pengguna
  3. Mengendalikan Mesej Menunggu dan Kegagalan
  4. Memantau Kelewatan Kumpulan Pengguna
← Kembali ke Pengcachingan & Pemesejan Redis (Pub/Sub, Streams)