Jadual Kandungan
1. Senario:
2 Strategi untuk memastikan konsistensi dua kali
3. Kebaikan dan keburukan empat strategi
Rumah pangkalan data Redis Pastikan konsistensi dua tulis antara mysql dan redis

Pastikan konsistensi dua tulis antara mysql dan redis

Jan 25, 2022 am 10:58 AM
mysql redis

1. Senario:

Konsisten tulis dua kali bermakna apabila kami mengemas kini data dalam pangkalan data, data dalam redis juga mesti dikemas kini secara serentak. Proses membaca data menggunakan redis Apabila pengguna mengakses data, data akan dibaca daripada cache terlebih dahulu cache, pangkalan data akan disoal dahulu Simpan data yang ditanya ke cache dan kemudian mengembalikannya kepada pengguna.

Pastikan konsistensi dua tulis antara mysql dan redis

2 Strategi untuk memastikan konsistensi dua kali

1 Kemas kini cache dahulu, kemudian kemas kini pangkalan data

2 pangkalan data dahulu , kemudian kemas kini cache

3 Padam cache dahulu, kemudian kemas kini pangkalan data

4 Kemas kini pangkalan data dahulu, kemudian padamkan cache

3. Kebaikan dan keburukan empat strategi

1 Kemas kini cache dahulu, kemudian kemas kini pangkalan data

Masalahnya adalah jelas pangkalan data gagal dikemas kini, data kotor dalam cache akan disebabkan

2 Kemas kini pangkalan data dahulu, kemudian kemas kini cache

Jika konkurensi tinggi, situasi berikut mungkin wujud. Thread A mengemas kini pangkalan data Jika disebabkan oleh rangkaian atau sebab lain, Thread A tidak mempunyai masa untuk mengemas kini cache Pada masa ini, proses B mengemas kini pangkalan data dan hanya memproses A kemas kini cache. Pada masa ini, kemas kini thread B pada cache akan hilang, seperti kehilangan transaksi

3 Padamkan cache dahulu, kemudian kemas kini pangkalan data

Strategi ini mungkin telah mengelakkan kehilangan cache dalam strategi 2, tetapi di bawah keadaan konkurensi yang tinggi, terdapat juga ketidakkonsistenan Sebagai contoh, apabila utas A melakukan operasi tulis, ia mula-mula memadam cache dan kemudian bersedia untuk berkomunikasi dengan pangkalan data baharu. . Pada masa ini, utas B melakukan operasi tulis tanpa menekan cache, dan kemudian menanyakan pangkalan data Pada masa ini, nilai lama dibaca, dan menyimpan nilai lama yang ditanya ke cache . Pada masa ini, pangkalan data dan cache tidak konsisten lagi. Masa kelewatan di sini mestilah lebih besar daripada masa operasi membaca perniagaan.

4. Kemas kini pangkalan data terlebih dahulu, kemudian padamkan cache

Tidak kira betapa tingginya konkurensi, akan ada ketidakkonsistenan, seperti apabila benang A membaca data. , apabila bersedia untuk menulis ke cache, benang B mengemas kini pangkalan data, dan kemudian melakukan operasi memadam cache Pada masa ini, benang A menulis nilai lama ke dalam cache, walaupun kebarangkalian ini berlaku adalah agak rendah, kerana tulis. masa operasi lebih besar daripada masa operasi baca. Penyelesaian: Pemadaman berganda tertunda masih menjadi masalah Apakah yang perlu saya lakukan jika pemadaman cache gagal. Selepas pemadaman gagal, kita boleh meletakkan kunci untuk dipadamkan ke dalam baris gilir, dan kemudian cuba memadamkannya berulang kali sehingga pemadaman berjaya.

Atas ialah kandungan terperinci Pastikan konsistensi dua tulis antara mysql dan redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara membuka phpmyadmin Cara membuka phpmyadmin Apr 10, 2025 pm 10:51 PM

Anda boleh membuka phpmyadmin melalui langkah -langkah berikut: 1. Log masuk ke panel kawalan laman web; 2. Cari dan klik ikon phpmyadmin; 3. Masukkan kelayakan MySQL; 4. Klik "Login".

Cara Membina Mod Kluster Redis Cara Membina Mod Kluster Redis Apr 10, 2025 pm 10:15 PM

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

Cara membersihkan data redis Cara membersihkan data redis Apr 10, 2025 pm 10:06 PM

Cara Mengosongkan Data Redis: Gunakan perintah Flushall untuk membersihkan semua nilai utama. Gunakan perintah flushdb untuk membersihkan nilai utama pangkalan data yang dipilih sekarang. Gunakan Pilih untuk menukar pangkalan data, dan kemudian gunakan FlushDB untuk membersihkan pelbagai pangkalan data. Gunakan perintah DEL untuk memadam kunci tertentu. Gunakan alat REDIS-CLI untuk membersihkan data.

MySQL: Pengenalan kepada pangkalan data paling popular di dunia MySQL: Pengenalan kepada pangkalan data paling popular di dunia Apr 12, 2025 am 12:18 AM

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

Mengapa menggunakan mysql? Faedah dan kelebihan Mengapa menggunakan mysql? Faedah dan kelebihan Apr 12, 2025 am 12:17 AM

MySQL dipilih untuk prestasi, kebolehpercayaan, kemudahan penggunaan, dan sokongan komuniti. 1.MYSQL Menyediakan fungsi penyimpanan dan pengambilan data yang cekap, menyokong pelbagai jenis data dan operasi pertanyaan lanjutan. 2. Mengamalkan seni bina pelanggan-pelayan dan enjin penyimpanan berganda untuk menyokong urus niaga dan pengoptimuman pertanyaan. 3. Mudah digunakan, menyokong pelbagai sistem operasi dan bahasa pengaturcaraan. 4. Mempunyai sokongan komuniti yang kuat dan menyediakan sumber dan penyelesaian yang kaya.

Cara Membaca Gilir Redis Cara Membaca Gilir Redis Apr 10, 2025 pm 10:12 PM

Untuk membaca giliran dari Redis, anda perlu mendapatkan nama giliran, membaca unsur -unsur menggunakan arahan LPOP, dan memproses barisan kosong. Langkah-langkah khusus adalah seperti berikut: Dapatkan nama giliran: Namakannya dengan awalan "giliran:" seperti "giliran: my-queue". Gunakan arahan LPOP: Keluarkan elemen dari kepala barisan dan kembalikan nilainya, seperti LPOP Queue: My-Queue. Memproses Baris kosong: Jika barisan kosong, LPOP mengembalikan nihil, dan anda boleh menyemak sama ada barisan wujud sebelum membaca elemen.

Tempat Mysql: Pangkalan Data dan Pengaturcaraan Tempat Mysql: Pangkalan Data dan Pengaturcaraan Apr 13, 2025 am 12:18 AM

Kedudukan MySQL dalam pangkalan data dan pengaturcaraan sangat penting. Ia adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pelbagai senario aplikasi. 1) MySQL menyediakan fungsi penyimpanan data, organisasi dan pengambilan data yang cekap, sistem sokongan web, mudah alih dan perusahaan. 2) Ia menggunakan seni bina pelanggan-pelayan, menyokong pelbagai enjin penyimpanan dan pengoptimuman indeks. 3) Penggunaan asas termasuk membuat jadual dan memasukkan data, dan penggunaan lanjutan melibatkan pelbagai meja dan pertanyaan kompleks. 4) Soalan -soalan yang sering ditanya seperti kesilapan sintaks SQL dan isu -isu prestasi boleh disahpepijat melalui arahan jelas dan log pertanyaan perlahan. 5) Kaedah pengoptimuman prestasi termasuk penggunaan indeks rasional, pertanyaan yang dioptimumkan dan penggunaan cache. Amalan terbaik termasuk menggunakan urus niaga dan preparedStatemen

Cara menggunakan baris arahan redis Cara menggunakan baris arahan redis Apr 10, 2025 pm 10:18 PM

Gunakan alat baris perintah redis (redis-cli) untuk mengurus dan mengendalikan redis melalui langkah-langkah berikut: Sambungkan ke pelayan, tentukan alamat dan port. Hantar arahan ke pelayan menggunakan nama arahan dan parameter. Gunakan arahan bantuan untuk melihat maklumat bantuan untuk arahan tertentu. Gunakan perintah berhenti untuk keluar dari alat baris arahan.

See all articles