Jadual Kandungan
Penggunaan dalam Redis
Mulakan transaksi
Arahan beratur
Laksanakan transaksi
arahan buang
perintah jam tangan
Pengecualian transaksi
Ralat arahan
Pengecualian Runtime
ACID urus niaga
Atomicity
Ketekalan
Pengasingan
Tahan Lama
Rumah pangkalan data Redis Analisis contoh transaksi Redis

Analisis contoh transaksi Redis

May 26, 2023 am 11:25 AM
redis

    Penggunaan dalam Redis

    Redis melaksanakan fungsi transaksi melalui multi, exec, buang dan jam tangan.

    • berbilang: mulakan transaksi

    • eksekusi: lakukan transaksi dan laksanakan

    • buang: batalkan transaksi

    • lihat: pantau sebarang bilangan kunci sebelum transaksi bermula

    > multi
    OK
    > set bookName "Redis"
    QUEUED
    > get bookName
    QUEUED
    > sadd tag "Redis" "New Book"
    QUEUED
    > smembers tag
    QUEUED
    > exec
    1) OK
    2) "Redis"
    3) (integer) 2
    4) 1) "Redis"
       2) "New Book"
    Salin selepas log masuk

    Mulakan transaksi

    > multi
    OK
    Salin selepas log masuk

    Arahan ini menghidupkan Redis_multi option , biarkan pelanggan bertukar daripada keadaan bukan transaksi kepada keadaan transaksi

    Analisis contoh transaksi Redis

    Arahan beratur

    > set bookName "Redis"
    QUEUED
    > get bookName
    QUEUED
    > sadd tag "Redis" "New Book"
    QUEUED
    > smembers tag
    QUEUED
    Salin selepas log masuk

    Arahan Redis tidak akan dilaksanakan serta-merta, tetapi akan masuk maju Pertama daripada baris gilir transaksi sehingga transaksi dilakukan. QUEUED menunjukkan bahawa arahan ini telah dimasukkan ke dalam baris gilir transaksi.

    Laksanakan transaksi

    > exec
    1) OK
    2) "Redis"
    3) (integer) 2
    4) 1) "Redis"
       2) "New Book"
    Salin selepas log masuk

    Apabila melaksanakan perintah eksec, Redis melaksanakan arahan dalam baris gilir transaksi dengan cara masuk dahulu, keluar dahulu mengikut baris gilir transaksi yang disimpan oleh pelanggan: arahan pertama yang akan dibariskan Perintah yang dilaksanakan dahulu, dan perintah terakhir yang dimasukkan ke dalam baris gilir dilaksanakan yang terakhir. Selepas melaksanakan perintah exec, Redis menyimpan keputusan dalam baris gilir balasan dan menghantar baris gilir kepada klien. Pelanggan keluar dari keadaan transaksi dan transaksi selesai.

    arahan buang

    > multi
    OK
    > set author "lisi"
    QUEUED
    > discard
    OK
    > get author
    (nil)
    Salin selepas log masuk

    buang ialah perintah untuk membatalkan transaksi, yang menunjukkan bahawa transaksi telah dibatalkan. Apabila pelanggan menamatkan keadaan transaksi dan kembali kepada keadaan bukan transaksi, pilihan Redis_multi perlu dimatikan.

    Analisis contoh transaksi Redis

    perintah jam tangan

    # Redis 客户端1
    > watch letter
    OK
    > multi
    OK
    > set letter a
    QUEUED
    > exec
    (nil)
    
    
    # Redis 客户端2
    > set letter b
    OK
    
    # Redis 客户端1
    > get letter
    "b"
    Salin selepas log masuk

    Apabila pelanggan 1 memasuki transaksi, jam tangan menetapkan kunci huruf dan menetapkan nilainya kepada a, tetapi transaksi belum lagi serahkan. Klien 2 menetapkan nilai huruf kepada b. Selepas pelanggan 1 melakukan transaksi, hasil yang dikembalikan adalah sifar, tetapi dengan memanggil arahan get, nilai huruf boleh diperolehi sebagai b. Ini bermakna apabila kunci huruf ditukar oleh pelanggan lain, transaksi akan dibatalkan, tidak akan dilaksanakan dan akan gagal.

    Arahan jam tangan memantau sebarang bilangan kunci sebelum transaksi bermula: apabila memanggil perintah excel untuk melaksanakan transaksi, jika mana-mana kunci yang dipantau telah diubah suai oleh pelanggan lain, keseluruhan transaksi tidak akan dilaksanakan lagi dan akan kembali secara langsung.

    Analisis contoh transaksi Redis

    Pengecualian transaksi

    Ralat arahan

    > set letter ac
    QUEUED
    > get letter ac
    (error) ERR wrong number of arguments for 'get' command
    > exec
    (error) EXECABORT Transaction discarded because of previous errors.
    Salin selepas log masuk

    Pengecualian arahan dalam transaksi ialah ralat sintaks dan akan menyebabkan transaksi gagal dilaksanakan .

    Pengecualian Runtime

    > multi
    OK
    > lpush books "Redis"
    QUEUED
    > incr books
    QUEUED
    > lpush books "Python"
    QUEUED
    > lrange books 0 -1
    QUEUED
    > exec
    1) (integer) 1
    2) (error) WRONGTYPE Operation against a key holding the wrong kind of value
    3) (integer) 2
    4) 1) "Python"
       2) "Redis"
    Salin selepas log masuk

    Contoh di atas ialah urus niaga mengalami kegagalan pada pertengahan pelaksanaan, kerana perintah incr tidak boleh dilakukan pada rentetan Selepas urus niaga menemui kegagalan pelaksanaan arahan , seterusnya Perintah terus dilaksanakan, jadi nilai buku terus ditetapkan. Pengecualian ini hanya boleh dielakkan oleh pengaturcara dalam kod mereka.

    ACID urus niaga

    Atomicity

    Atom bermaksud sama ada ia berjaya dilaksanakan bersama-sama atau gagal bersama-sama dan ditarik balik. Semua API yang disediakan oleh Redis adalah operasi atom. Kemudian urus niaga Redis hanya perlu memastikan atomicity dalam kumpulan operasi, tetapi dalam kes pengecualian masa jalan, jika pengecualian arahan berlaku dalam transaksi, arahan lain akan terus dilaksanakan tidak dijamin seksual.

    Ketekalan

    Pengecualian urus niaga

    Jika terdapat ralat arahan, transaksi tidak boleh dilaksanakan Jika pengecualian masa jalan, Redis akan memasukkan ralat dalam hasil pemulangan dan tidak akan menjejaskan pelaksanaan seterusnya , jadi transaksi adalah konsisten.

    Proses Redis telah ditamatkan

    Dalam mod memori tulen, Redis tidak melakukan kegigihan Selepas memulakan semula, pangkalan data kosong, jadi ia konsisten dari segi transaksi.

    Dalam mod RDB, transaksi tidak akan melaksanakan kerja menyimpan fail RDB di tengah-tengah Kerja RDB hanya boleh bermula selepas transaksi selesai. Oleh itu, proses Redis dimatikan semasa pelaksanaan transaksi, dan tidak kira betapa berjayanya, ia tidak akan disimpan ke fail RDB, jadi ia adalah konsisten.

    Dalam mod AOF, sebahagian daripada penyata transaksi ditulis ke fail AOF dan berjaya disimpan ke fail AOF Apabila memulakan semula Redis, pastikan fail AOF tidak lengkap dan Redis keluar dengan satu kesilapan. Urus niaga yang tidak lengkap ini perlu dipadamkan sebelum permulaan semula boleh berjaya, jadi ia adalah konsisten.

    Dalam mod AOF, urus niaga tidak ditulis ke fail AOF, jadi selepas memulakan semula pangkalan data Redis adalah data terkini yang berjaya disimpan ke fail AOF. Tiada data untuk transaksi ini, jadi ia adalah konsisten.

    Pengasingan

    Redis ialah program proses tunggal, dan ia menjamin bahawa urus niaga tidak akan terganggu semasa melaksanakan transaksi, dan urus niaga boleh dijalankan sehingga semua arahan dalam baris gilir transaksi dilaksanakan . Jadi urus niaga diasingkan.

    Tahan Lama

    Dalam mod memori tulen, transaksi pastinya tidak berterusan.

    Dalam mod RDB, pelayan mungkin gagal dalam tempoh selepas transaksi dilaksanakan dan sebelum fail RDB dikemas kini, jadi transaksi dalam mod RDB tidak tahan lama.

    Dalam mod AOF, tambahkan arahan pada fail AOF, tetapi menulis fail tidak akan ditulis ke cakera serta-merta, tetapi akan disimpan dalam penimbal terlebih dahulu. Jadi terdapat selang yang sangat kecil antara data yang disimpan ke cakera. Transaksi dalam mod ini juga tidak tahan lama.

    Atas ialah kandungan terperinci Analisis contoh transaksi 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

    Video Face Swap

    Video Face Swap

    Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

    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 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.

    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.

    Cara menggunakan kunci redis Cara menggunakan kunci redis Apr 10, 2025 pm 08:39 PM

    Menggunakan REDIS untuk mengunci operasi memerlukan mendapatkan kunci melalui arahan SETNX, dan kemudian menggunakan perintah luput untuk menetapkan masa tamat tempoh. Langkah-langkah khusus adalah: (1) Gunakan arahan SETNX untuk cuba menetapkan pasangan nilai utama; (2) Gunakan perintah luput untuk menetapkan masa tamat tempoh untuk kunci; (3) Gunakan perintah DEL untuk memadam kunci apabila kunci tidak lagi diperlukan.

    Cara menggunakan perintah redis Cara menggunakan perintah redis Apr 10, 2025 pm 08:45 PM

    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 membaca kod sumber redis Cara membaca kod sumber redis Apr 10, 2025 pm 08:27 PM

    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.

    Cara menyelesaikan kehilangan data dengan redis Cara menyelesaikan kehilangan data dengan redis Apr 10, 2025 pm 08:24 PM

    Kerugian data REDIS termasuk kegagalan memori, gangguan kuasa, kesilapan manusia, dan kegagalan perkakasan. Penyelesaiannya adalah: 1. 2. Salin ke beberapa pelayan untuk ketersediaan tinggi; 3. Ha dengan redis sentinel atau cluster redis; 4. Buat gambar untuk membuat sandaran data; 5. Melaksanakan amalan terbaik seperti kegigihan, replikasi, gambar, pemantauan, dan langkah -langkah keselamatan.

    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