Rumah > pangkalan data > Redis > teks badan

Pembelajaran Redis bercakap tentang model reaktor berulir tunggal

青灯夜游
Lepaskan: 2021-12-09 09:54:53
ke hadapan
1962 orang telah melayarinya

Artikel ini akan bercakap tentang model reaktor satu benang, model I/O dan model I/O berbilang benang dalam Redis. Saya harap ia akan membantu anda!

Pembelajaran Redis bercakap tentang model reaktor berulir tunggal

Prestasi tinggi redis

  • Akses memori tulen, semua data berada dalam ingatan, dan semua operasi adalah Untuk ingatan operasi peringkat, masa tindak balas memori berada pada tahap nanosaat. Oleh itu, CPU proses redis pada asasnya tidak mempunyai masa menunggu I/O cakera dan masalah prestasi membaca dan menulis CPU bukanlah kesesakan redis (saiz memori dan rangkaian I/O adalah kesesakan redis, itu. ialah, jurang antara pelanggan dan kelewatan penghantaran rangkaian). [Pengesyoran berkaitan: Tutorial video Redis]
  • menggunakan model satu utas dan pelaksanaan satu utas adalah mudah. Mengelakkan overhed yang disebabkan oleh penukaran konteks yang kerap berbilang rangkaian dan mekanisme penyegerakan seperti kunci
  • Struktur data asas yang mudah dan cekap: rentetan dinamik (SDS), senarai terpaut, kamus, senarai terpaut lompat, set integer dan senarai termampat . Kemudian redis menggunakan asas ini untuk melaksanakan objek yang pengguna boleh kendalikan: rentetan, senarai, cincang, set, set tersusun dan objek lain
  • pemproses acara rangkaian mod reaktor. Ia menggunakan pemultipleksan I/O untuk memantau berbilang soket pada masa yang sama, yang merupakan model I/O yang cekap. Untuk pengetahuan berkaitan reaktor, anda boleh membaca artikel iniArtikel rangka kerja: Lihat model Reaktor IO rangkaian berprestasi tinggi Linux

Mengapa menggunakan utas tunggal

  • Benang tunggal digunakan untuk mengelakkan penukaran konteks dan keadaan persaingan yang tidak perlu; tiada penguncian dan pelepasan Tiada penggunaan prestasi kerana kemungkinan jalan buntu dalam operasi kunci
  • Mudah dan boleh diselenggarakan akan menjadikan penulisan program lebih rumit dan menyusahkan untuk dilaksanakan
Redis ialah sistem satu benang?

Kami sering mengatakan bahawa redis adalah satu-benang kerana reaktor model pemprosesan acara rangkaiannya adalah satu-benang
  • Jika permintaan pelanggan memadamkan berjuta-juta nilai utama, maka ini Perintah itu boleh menyebabkan penyekatan. Dalam redis 4.0, multi-threading telah dipilih untuk melaksanakan jenis arahan tidak menyekat ini
  • Dalam versi redis 6.0, multi-threading telah diperkenalkan secara rasmi untuk mengendalikan I/O klien jawapan baca dan tulis, manakala pemprosesan daripada peristiwa arahan redis masih dalam pemprosesan baris tunggal utas utama
  • Jika ia untuk keseluruhan sistem redis, sentiasa ada urutan lain untuk mengendalikan tugas tak segerak, seperti penyegerakan AOF dan RDB
model I/O redis

Redis memproses dengan cepat, bukan sahaja kerana ia adalah sistem ingatan tulen satu benang, tetapi juga kerana ia menggunakan model Reaktor dan menggunakan Pemultipleksan I/O untuk memproses permintaan luaran , Kurangkan sambungan rangkaian, baca dan tulis masa menunggu. Ia boleh mengendalikan sebilangan besar permintaan pelanggan secara serentak dalam operasi I/O rangkaian, mencapai daya pemprosesan tinggi dan keselarasan tinggi

Pembelajaran Redis bercakap tentang model reaktor berulir tunggal

berbilang benang Versi redis Model I/O 6.0

Pembelajaran Redis bercakap tentang model reaktor berulir tunggalUntuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati:

Pengenalan kepada Pengaturcaraan

! !

Atas ialah kandungan terperinci Pembelajaran Redis bercakap tentang model reaktor berulir tunggal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:juejin.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!