Apakah maksud pemadaman berganda redis cache tertunda?
Mengapa cache dipadamkan dan bukannya dikemas kini?
Apabila mengemas kini data, anda mungkin menghadapi masalah transaksi yang diedarkan, menyebabkan kemas kini cache berjaya tetapi pengubahsuaian pangkalan data gagal. Walaupun pengubahsuaian pangkalan data gagal dan hanya cache dipadamkan, pertanyaan seterusnya masih akan mendapatkan data terus daripada pangkalan data dan tiada data kotor akan dihasilkan.
Apakah pemadaman berganda tertunda?
Iaitu, apabila menambah, memadam atau mengubah suai kelas entiti, cache kelas entiti mesti dikosongkan Kedudukan pembersihan adalah sebelum dan selepas kaedah pengendalian pangkalan data.
Gunakan bukti dengan percanggahan
Hanya padam dahulu
Hanya padam kemudian
Kesimpulan
Ini membawa kepada kesimpulan bahawa kedua-dua pemadaman depan dan belakang adalah bermasalah. Oleh itu, menggunakan strategi pemadaman berganda tertunda
Pemikiran 2: Mengapa ia ditangguhkan
Ia masih menjadi bukti dengan percanggahan. Situasi dalam gambar di bawah adalah situasi di mana cache lama masih wujud selepas pemadaman berganda Kelewatan adalah untuk memastikan operasi pertukaran cache transaksi lain telah selesai sebelum mengubah suai pangkalan data -> mengosongkan cache.
Tambahan: Mengapa kita perlu menangguhkan pemadaman berganda untuk memastikan ketekalan cache
Mengapa kita perlu menangguhkan pemadaman berganda? Pastikan ketekalan cache
Sebelum mengubah suai data pangkalan data, redis perlu dipadamkan terlebih dahulu: ini untuk memastikan bahawa semasa selang antara pengubahsuaian data pangkalan data dan pemadaman data redis, jika terdapat hit , pastikan data ini tidak wujud dalam redis. Jika tiada operasi pemadaman dilakukan, data lama masih boleh dibaca daripada redis selepas data pangkalan data telah diubah suai, yang akan membawa kepada ketidakkonsistenan data.
Pemadaman kedua ialah selepas mengubah suai data pangkalan data Pada masa ini, data yang sepadan dalam redis perlu dipadamkan sekali lagi pengubahsuaian. Pada masa ini, jika terdapat permintaan, data lama akan dicache semula dalam redis Namun, data dalam pangkalan data akan diubah suai seterusnya dalam redis.
Jadi mengapa anda perlu menangguhkan pemadaman redis untuk tempoh masa tertentu selepas pangkalan data diubah suai buat kali kedua?
Untuk menunggu pembacaan pangkalan data sebelumnya, tunggu data ditulis ke cache, dan akhirnya padamkan data kotor kali ini, jadi data dihantar dari pangkalan data ke pelayan + tulis cache Masa kemasukan ialah
Walau bagaimanapun, pemadaman berganda yang tertunda sangat sukar untuk ditentukan, jadi ia tidak disyorkan untuk menangguhkan pemadaman dua kali
Menurut pertimbangan menyeluruh, walaupun pangkalan data diubah suai dahulu, data lama akan dibaca untuk tempoh masa tertentu selepas memadamkan cache, yang biasanya diterima.
Selagi cache dipadamkan tepat pada masanya, urutan lain boleh membaca nilai terkini.
Pada masa yang sama, untuk memastikan cache akan dipadamkan, mq boleh digunakan untuk memastikan cache akan dipadamkan
Jika mesej tidak digunakan berulang kali dalam mq , ia akan diserahkan kepada pengguna lain untuk dimakan (Padam cache)
Atas ialah kandungan terperinci Apakah maksud pemadaman berganda redis cache tertunda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Mod Redis cluster menyebarkan contoh Redis ke pelbagai pelayan melalui sharding, meningkatkan skalabilitas dan ketersediaan. Langkah -langkah pembinaan adalah seperti berikut: Buat contoh Redis ganjil dengan pelabuhan yang berbeza; Buat 3 contoh sentinel, memantau contoh redis dan failover; Konfigurasi fail konfigurasi sentinel, tambahkan pemantauan maklumat contoh dan tetapan failover; Konfigurasi fail konfigurasi contoh Redis, aktifkan mod kluster dan tentukan laluan fail maklumat kluster; Buat fail nodes.conf, yang mengandungi maklumat setiap contoh Redis; Mulakan kluster, laksanakan perintah Buat untuk membuat kluster dan tentukan bilangan replika; Log masuk ke kluster untuk melaksanakan perintah maklumat kluster untuk mengesahkan status kluster; buat

Redis menggunakan jadual hash untuk menyimpan data dan menyokong struktur data seperti rentetan, senarai, jadual hash, koleksi dan koleksi yang diperintahkan. Redis berterusan data melalui snapshots (RDB) dan menambah mekanisme tulis sahaja (AOF). Redis menggunakan replikasi master-hamba untuk meningkatkan ketersediaan data. Redis menggunakan gelung acara tunggal untuk mengendalikan sambungan dan arahan untuk memastikan atom dan konsistensi data. Redis menetapkan masa tamat tempoh untuk kunci dan menggunakan mekanisme memadam malas untuk memadamkan kunci tamat tempoh.

Untuk melihat semua kunci di Redis, terdapat tiga cara: Gunakan perintah kunci untuk mengembalikan semua kunci yang sepadan dengan corak yang ditentukan; Gunakan perintah imbasan untuk melangkah ke atas kunci dan kembalikan satu set kunci; Gunakan arahan maklumat untuk mendapatkan jumlah kunci.

Untuk melihat nombor versi REDIS, anda boleh menggunakan tiga kaedah berikut: (1) Masukkan arahan INFO, (2) Mulakan pelayan dengan pilihan --version, dan (3) Lihat fail konfigurasi.

Langkah-langkah untuk menyelesaikan masalah yang tidak dapat dijumpai oleh Redis-Server: periksa pemasangan untuk memastikan Redis dipasang dengan betul; Tetapkan pembolehubah persekitaran redis_host dan redis_port; Mulakan Redis Server Redis-server; Semak sama ada pelayan sedang menjalankan ping redis-cli.

Redis memerintahkan set (ZSET) digunakan untuk menyimpan elemen yang diperintahkan dan disusun mengikut skor yang berkaitan. Langkah -langkah untuk menggunakan ZSET termasuk: 1. Buat zset; 2. Tambah ahli; 3. Dapatkan skor ahli; 4. Dapatkan kedudukan; 5. Dapatkan ahli dalam julat ranking; 6. Padam ahli; 7. Dapatkan bilangan elemen; 8. Dapatkan bilangan ahli dalam julat skor.

Menggunakan Arahan Redis memerlukan langkah -langkah berikut: Buka klien Redis. Masukkan arahan (nilai kunci kata kerja). Menyediakan parameter yang diperlukan (berbeza dari arahan ke arahan). Tekan Enter untuk melaksanakan arahan. Redis mengembalikan tindak balas yang menunjukkan hasil operasi (biasanya OK atau -r).

Cara terbaik untuk memahami kod sumber REDIS adalah dengan langkah demi langkah: Dapatkan akrab dengan asas -asas Redis. Pilih modul atau fungsi tertentu sebagai titik permulaan. Mulakan dengan titik masuk modul atau fungsi dan lihat baris kod mengikut baris. Lihat kod melalui rantaian panggilan fungsi. Berhati -hati dengan struktur data asas yang digunakan oleh REDIS. Kenal pasti algoritma yang digunakan oleh Redis.
