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

Melaksanakan Corak Cache Asas

Pelajari cara melaksanakan corak Cache-Aside dan Write-Through menggunakan Redis untuk data aplikasi yang lazim.

Pelajaran 2 daripada 411 langkah

Melaksanakan Corak Cache Asas ialah pelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) percuma di CoddyKit. Ini ialah pelajaran 2 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.

Pengenalan Corak Cache Asas

Selamat datang! Dalam pelajaran ini, kita akan mendalami dua corak caching asas: Cache-Aside dan Write-Through. Corak ini membantu anda mengintegrasikan Redis ke dalam aplikasi untuk menyimpan dan mendapatkan data dengan cekap.

Memahaminya penting untuk membina sistem yang responsif dan boleh diskalakan.

Apakah Cache-Aside?

Corak Cache-Aside ialah salah satu cara paling biasa untuk menggunakan cache. Dalam corak ini, aplikasi anda bertanggungjawab mengurus cache dan stor data utama (seperti pangkalan data).

  • Semasa membaca data, aplikasi menyemak cache terlebih dahulu.
  • Jika data ditemui ('cache hit'), aplikasi memulangkan data daripada cache.
  • Jika tidak ditemui ('cache miss'), aplikasi mendapatkan data daripada pangkalan data, menyimpannya dalam cache dan kemudian memulangkannya.

Cache-Aside: Aliran Bacaan

Bayangkan aplikasi anda memerlukan data pengguna. Beginilah cara Cache-Aside berfungsi:

  1. Aplikasi meminta data: Menyemak Redis untuk user:123.
  2. Cache Miss: Redis membalas 'tidak ditemui'.
  3. Aplikasi membuat pertanyaan kepada pangkalan data: Mendapatkan user:123 daripada pangkalan data.
  4. Aplikasi mengemas kini cache: Menyimpan user:123 dalam Redis.
  5. Aplikasi memulangkan data: Memberikan data kepada pengguna.
  6. Permintaan seterusnya: Kini Redis mempunyai user:123, lalu menghasilkan 'cache hit' yang pantas!

Contoh Cache-Aside CLI

Mari kita simulasikan aliran bacaan Cache-Aside menggunakan Redis CLI. Mula-mula, kita cuba mendapatkan kunci yang tiada dalam cache (miss), kemudian mendapatkannya daripada pangkalan data konseptual dan menyimpannya. Akhir sekali, kita mendapatkannya sekali lagi (hit).

DEL product:101
GET product:101

# Simulate fetching from DB: "Laptop X"
SET product:101 "Laptop X" EX 3600

GET product:101

Cache-Aside: Kelebihan & Kekurangan

Kelebihan:

  • Kesederhanaan: Mudah dilaksanakan.
  • Beban Kerja yang Banyak Membaca: Sangat sesuai untuk data yang kerap dibaca tetapi jarang berubah.
  • Kesegaran Data: Data baharu hanya ditambahkan ke cache apabila diminta, sekali gus mengurangkan pencemaran cache.

Kekurangan:

  • Bacaan pertama bagi mana-mana data sentiasa menyebabkan cache terlepas, lalu menjadikannya lebih perlahan.
  • Data Lapuk: Jika pangkalan data dikemas kini secara langsung, cache mungkin menyimpan data lama sehingga data itu tamat tempoh atau dibatalkan secara jelas.

Apakah itu Tulis-Terus?

Corak Tulis-Terus memastikan data ditulis ke cache dan stor data utama (pangkalan data) pada masa yang sama. Aplikasi menulis ke cache, kemudian cache bertanggungjawab menulis data tersebut ke pangkalan data.

  • Apabila data ditulis, data itu pergi ke cache terlebih dahulu.
  • Cache kemudian menulis data tersebut ke pangkalan data dengan segera.
  • Operasi penulisan hanya dianggap selesai selepas kedua-dua operasi berjaya.

Tulis-Terus: Aliran Penulisan

Pertimbangkan kemas kini harga sesuatu produk. Begini cara Tulis-Terus berfungsi:

  1. Aplikasi menulis data: Menghantar harga produk baharu untuk product:202 ke Redis.
  2. Cache menulis ke pangkalan data: Redis segera menulis kemas kini yang sama ke pangkalan data.
  3. Cache mengesahkan: Redis mengesahkan penulisan kepada aplikasi hanya selepas penulisan ke pangkalan data selesai.
  4. Aplikasi meneruskan operasi: Aplikasi terus berjalan kerana mengetahui bahawa cache dan pangkalan data adalah selaras.

Contoh CLI Tulis-Terus

Dalam Tulis-Terus, aplikasi anda biasanya menjalankan satu operasi penulisan ke cache, manakala cache (atau pustaka klien yang melaksanakan corak ini) mengendalikan penyimpanan ke pangkalan data. Di sini, kita mensimulasikan penetapan nilai yang secara konsepnya turut mengemas kini pangkalan data.

SET user:456 '{"name": "Alice", "email": "alice@example.com"}'

# Conceptually, this SET command
# would trigger an update to your
# primary database as well.

GET user:456

Tulis-Terus: Kelebihan dan Kekurangan

Kelebihan:

  • Ketekalan Data: Cache dan pangkalan data sentiasa selaras.
  • Kebolehpercayaan: Data terus disimpan secara kekal.
  • Bacaan yang Lebih Mudah: Semua bacaan ialah cache hit (dengan andaian data sentiasa ditulis melalui cache).

Kekurangan:

  • Kependaman Penulisan: Penulisan lebih perlahan kerana data perlu ditulis dua kali (cache + pangkalan data).
  • Pencemaran Cache: Data yang ditulis ke cache mungkin tidak pernah dibaca, lalu membazirkan ruang cache.
  • Beban yang Bertambah: Setiap operasi penulisan melibatkan penulisan ke pangkalan data, yang berpotensi meningkatkan beban pangkalan data.

Kuiz Perbandingan Corak

Anda sedang mereka bentuk ciri yang profil penggunanya kerap dibaca tetapi kurang kerap dikemas kini. Corak caching manakah yang secara umumnya lebih sesuai untuk mengoptimumkan prestasi bacaan dan memudahkan pelaksanaan?

Imbas Kembali: Corak Cache Asas

Syabas! Anda telah mempelajari dua strategi caching asas:

  • Cache-Sebelah: Aplikasi anda mengurus cache. Bacaan menyemak cache terlebih dahulu; jika cache terlepas, data diambil daripada pangkalan data, disimpan dalam cache, kemudian dikembalikan. Paling sesuai untuk data yang banyak dibaca.
  • Tulis-Terus: Penulisan pergi ke cache, yang kemudiannya terus menulis ke pangkalan data. Ini memastikan ketekalan yang kukuh antara cache dan pangkalan data.

Corak ini menjadi asas kepada teknik caching yang lebih lanjut yang akan anda terokai dalam pelajaran akan datang!

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 “Melaksanakan Corak Cache Asas” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams), termasuk “Melaksanakan Corak Cache Asas”, 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 “Melaksanakan Corak Cache Asas”?

Pelajari cara melaksanakan corak Cache-Aside dan Write-Through menggunakan Redis untuk data aplikasi yang lazim. 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 2 daripada 4.

Berapa lamakah pelajaran “Melaksanakan Corak Cache Asas” 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. Mengapa Cache? Pengenalan kepada Pencachingan
  2. Melaksanakan Corak Cache Asas
  3. Penyingkiran dan Luput Cache
  4. Mencegah Lambakan Cache dan Serbuan Serentak
← Kembali ke Pengcachingan & Pemesejan Redis (Pub/Sub, Streams)